1:固定用法:
①public class hello_world//把类“hello_world”申明为public,表示该类为公有,也就是在整个过程中都可以访问到他。
特别注意!!如果把一个类声明为public那么需要保证文件名称和这个类名字相同。如文件名为hello_world,则public后面接的类名字也必须是hello_world;也即是说在一个Java文件中,最多只能有一个public类,否则.java的文件就无法命名。
②public static void main(String args[]):main方法,每个程序开始运行的起点。//公共,静态,无返回值
2:数据类型
整型:取值不含小数的数据类型,包括byte(-128~127),short,int,long
浮点型:储存实数的类型是浮点型数据,主要包括float型和double型,默认为double型,若要声明为单精度则在该数值后加字母‘F’(或小写字母‘f’)。可采用下面方法:
float price = 12.5f;//确保等号两边类型相同
float price = (float)12.5;//强制类型转换
3.输入与输出
①System.in(标准输入),通常代表键盘输入。
②System.out(标准输出),通常输出到标准显示器。
③System.err(标准错误输出),通常将错误信息输出到终端显示器,可用System.out代替,但用err可增加可读性。
示例如下
//System.in、System.out、System.err的使用范例
import java.io.*;
//导入Java中支持I/o类的包(.*表示该包库下的所有模块)
public class test_1 {
public static void main(String arg[]){
String str;
//创建标准输入流对象stdin来接收键盘System.in的输入
InputStreamReader stdin = new InputStreamReader(System.in);
//以缓冲流模式来接收stdin,处理应用程序和外设之间速度不匹配的问题。
BufferedReader bufin = new BufferedReader(stdin);
//使用try和catch错误捕捉机制来处理输入的异常
try{
System.out.print("请输入字符:");
//用str字符串对象来接收键盘输入的一行数据
str = bufin.readLine();
System.out.println("你输入的字符为:"+str);
}catch (Exception e){
System.err.println("发生I/O错误!!!");
e.printStackTrace();//err可理解为专用于输出错误信息的System.out特例
}
}
}
输出
请输入字符:I love java.
你输入的字符为:I love java.
4.声明常量:final 数据类型 常量名称【=值】
注意:若是要在main函数引用则必须在前面加上static,并且当常量作为一个类的成员变量时必须要给常量赋初值,在public static void main 之前,赋了初值之后,无法对该常量再次赋值。
5.变量的作用范围:
①成员变量:作用范围为整个类。(在之前或者之后声明无妨)
②局部变量:在一个函数或函数内代码块(可直接用{}来界定块,超出{}定义变量的生命周期结束)中定义的变量称为局部变量,局部变量在函数被执行时创建,结束时销毁。赋值操作在取值之前,否则出错。
③变量作用范围内禁止嵌套,而类与方法中的变量作用域可以嵌套。
6.数据类型:整形(Byte/Short/Integer/Long)浮点类型(双精度Double/单精度Float )字符类型(char)
①静态属性:MAX_VALUE,MIN_VALUE,SIZE,TYPE
②overflow(数据溢出):最大值加一的等于最小值,最小值减一等于最大值。防止溢出可扩大数据的操作范围,如用long类型解决int溢出问题。
③低字节与高字节数据运算,结果自动变为高字节数据。
④含小数的实数默认为double类型数据,如果定义的是float型数据,赋值时必须进行强制类型转换(后面加F或者f/数字前加(float)强制转型)。
⑤字符类型用单引号(‘ ’)括起来,转义字符\'表示单引号'\''。
⑥char 为单个字符变量,储存单个中文字符。
⑦A~Z:65~90 a~z:97~122 0~9:49~57 大小写字母之间的差是32个长度。
public class Bigorsmall {
public static void main(String[] args) {
char a='Z';
int X=(int)a;
System.out.println(X);
X=X+32;
a=(char)X;
System.out.println(a);
}
}
⑧boolean status = ture/false; 布尔类型不能赋值01或者其他数字。
7.流程控制:if语句/if-else语句/if嵌套/switch语句/return/while循环语句/do-while循环语句/for循环语句/break跳转语句/continue跳转语句
注意!!:for循环中的continue跳转语句运行之后跳转到的是增量表达式
for循环的执行顺序如下:
for(sta1;sta2;sta3)
{
sta4;
}
1.进入循环执行sta1;//只是进入的时候执行.
2.执行sta2;//条件为真才执行sta4,不然就跳出for了.
3,执行sta4;
4,执行sta3;
5,再回到第2步开始执行
哈哈,大家看看下面结果是什么呢
public class T2 {
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] argv) {
int i = 0;
for (foo('A'); foo('B') && (i < 2); foo('C')) {
i++;
foo('D');
}
}
}
(答案是ABDCBDCB)
习题1:
输入正整数n,输出他的倒顺数字串。如输入n=6时,输出1 2 3 4 5 6 5 4 3 2 1
import java.util.Scanner;//导入scanner类
public class Hello
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("不抛弃,不放弃,JAVA,I'm coming!");
int a;
int b;
a = sc.nextInt();
for(b=1;b<a;b++){
System.out.print(b+" ");
}
for(b=a;b>0;b--){
System.out.print(b+" ");
}
}
}
习题2 实现功能:输出int类型最小值与最大值之间的所有数是否是偶数?(改错)
public class FindEvenNumber {
public static void main(String[] args) {
for(int i =Integer.MIN_VALUE;i<=Integer.MAX_VALUE;++i){
boolean isEven = (i%2==0);
System.out.println(String.format("i=%d,isEven=%b",i,isEven));
}
}
}
习题三:
自动类型转换/按照从左到右的运算顺序
区别字和字符串:字可以由ACSII码与整形一起计算,而字符串不行;
输出结果为
114
12aa66
7k
public class test2 {
public static void main(String[] args) {
int x=5;
int y=2;
String z="dd";
System.out.println(x+y+'k');
System.out.println(6+6+"aa"+6+6);
System.out.println(x+y+"k");
}
}
---------------------
for循环部分摘录于原文:https://blog.youkuaiyun.com/allenjay11/article/details/51155016