hello world
public class Main { public static void main(String[] args) { System.out.println("Hello"); System.out.print("world"); } }
这里可以用快捷键main和sout快速实现main方法和输出函数
注释
//单行注释 /* 多行注释 */ /** * 文档注释 *文本注释 */
变量和常量
final关键字
public class Main { public static void main(String[] args) { final int a;//仅可赋值一次 a=2; System.out.print(a); } }
整数类
public class Main { public static void main(String[] args) { byte a=10; int b=a; //byte c=b;不能大转小 long c=11111111111111111L; int d=0xFA;//16进制 int e=077;//8进制 byte k=127; k++; System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(k); k--; System.out.println(k); } }
运算结果
10
11111111111111111
250
63
-128
127
浮点类
public class Main { public static void main(String[] args) { float a=1.3f;//加个f表示单精度浮点型 double b=a;//精度缺失 System.out.println(b); } }
1.2999999523162842
隐式类型转换规则
byte→short(char)→int→long→float→double
字符类
public class Main { public static void main(String[] args) { char b=99; char a='啊'; int c=a; String d="使用双引号,S要用大写"; System.out.println(b); System.out.println(a); System.out.println(c); System.out.println(d); } }
c
啊
21834
使用双引号
布尔类型
public class Main { public static void main(String[] args) { boolean a=true; boolean b=false; System.out.println(a); System.out.println(b); } }
true
false
运算符
赋值运算
public static void main(String[] args) { int a; int b = a = 777; }
算术运算
public class Main { public static void main(String[] args) { int b=10; short a=20; double c=a+b;//小类型和大类型运算自动转化为大类型(int),再隐性转化为double 不同类型的整数一起运算,小类型需要转换为大类型, // short、byte、char一律转换为int再进行计算(无论算式中有无int,都需要转换),结果也是int; // 如果算式中出现了long类型,那么全部都需要转换到long类型再进行计算,结果也是long System.out.println(c); String s1="hello"; String s2="woeld"; String s3=s1+","+s2+c; System.out.println(s3); int d=10,e=3; double f=3.0; System.out.println(d/e); System.out.println(d%e); System.out.println(d/f); } }
30.0
hello,woeld30.0
3
1
3.3333333333333335
括号运算
public class Main { public static void main(String[] args) { int a = 10; int b = (a = 8) * (-a + 10); System.out.println(b); short c=(short) b;//强制转换 System.out.println(c); } }
16
16
自增自减
public class Main { public static void main(String[] args) { int a=10; a++; System.out.println(a); a--; System.out.println(a); System.out.println(++a); System.out.println(a); } }
11
10
11
11
位运算
public class Main { public static void main(String[] args) { byte a=9,b=3;//1001,0011 int c=a&b; System.out.println(c); System.out.println(a|b); System.out.println(a^b);//异或 System.out.println(~b);//取反 System.out.println(a << 2); System.out.println(a >> 1); } }
1
11
10
-4
36
4
关系逻辑运算
public class Main { public static void main(String[] args) { int c=-1; c=c>0?c:-c; System.out.println(c); int a=0,b=6; while(++a<b&&a<b||(a<15&&a!=10))//&&前面不成立或者||前面成立均不会运算后面的内容 System.out.println(a); } }
1
1
2
3
4
5
6
7
8
9
代码块和作用域
public class Main { public static void main(String[] args) { double a=1.1; System.out.println(a); } { // System.out.println(a);访问不到 } }
1.1
选择结构
public class Main { public static void main(String[] args) { int score = 2; if(score >= 90) //90分以上才是优秀 System.out.println("优秀"); else if (score >= 70) //当上一级if判断失败时,会继续判断这一级 System.out.println("良好"); else if (score >= 60) System.out.println("及格"); else //当之前所有的if都判断失败时,才会进入到最后的else语句中 System.out.println("不及格"); } }
public class Main { public static void main(String[] args) { char c = 'A'; switch (c) { case 'A': System.out.println("去尖子班!"); break; case 'B': System.out.println("去平行班!"); break; case 'C': System.out.println("去差生班!"); break; default: //其他情况一律就是下面的代码了 System.out.println("去读职高"); } } }
循环结构
public class Main { public static void main(String[] args) { outer: for (int i = 1; i < 4; ++i) { //在循环语句前,添加 标签: 来进行标记 inner: for (int j = 0; j < 4; ++j) { if(i == j) break outer; //break后紧跟要结束的循环标记,当i == j时终止外层循环 System.out.println(i+", "+j); } } } }
1,0
public class Main { public static void main(String[] args) { outer: { //直接对整个代码块打标签 for (int i = 0; i < 10; i++) { if (i == 7){ System.out.println("Test"); break outer; //执行break时,会直接跳出整个代码块,而不是第一个循环 } } System.out.println("???"); } } }
Test
public static void main(String[] args) { int i = 0; //比如现在我们想看看i不断除以2得到的结果会是什么,但是循环次数我们并不明确 do { //无论满不满足循环条件,先执行循环体里面的内容 System.out.println("Hello World!"); i++; } while (i < 10); //再做判断,如果判断成功,开启下一轮循环,否则结束 }