Java基础语法
1、Java的八种基本数据类型
1、byte 1字节 取值范围:-128~127
2、short 2字节 取值范围:-32768~32767
3、int 4字节 取值范围:-231~231-1 # int是开发中最常用的,也是Java中默认的数据类型
4、long 8字节 取值范围:-263~263-1 #声明超过int取值范围的long类型的数据的时候,在值的上面加L或者l,否则报错。
例:long l1 = 28299228; long l2 = 27828299292929L;
5、float 4字节 #声明float类型数据的时候,需要加f后者F float的有效位数为8位
例:float f2 = 1.23456789123f; System.out.println(f2); //1.2345679
float f3 = 2828.8989898989f; System.out.println(f3); //2828.899
6、double 8字节 有效位数为16位。
7、char 2字节 #字符类型的数据使用单引号进行引起来,而且单引号中只能有一个元素
例:char ch1 = '上'; char ch2 = 'k';
8、boolean 1字节 值为true或false
2、类和变量的命名规范
1.首字母大写
2.如果有多个单词组成的类名 采用大驼峰的命名规则 HelloWorld SingleDog
变量的命名:
1.变量的命名可以使用 数字,字母,_,$等组成,但是不能以数字开头
2.首字母不能大写
3.采用的是小驼峰命名规则 或者采用下划线连接多个单词的写法
4.命名一定要见名知意
3、转义字符
目的: 将一个无意义的字符转为有意义的字符或者将一个有意义的字符转为无意义的字符
\字符(有特殊意义的字符或者无特殊意义的字符)
两个特殊的符号:
\t: 制表符 空格
System.out.println(m/n);
+= -= *= /= %=
a+=b是a=a+b的简写,后面其他三项同理
自增与自减 变量++ ++变量 变量-- --变量
变量++;先执行当前操作,后变量自身+1
int b=3; System.out.println(b++); //3 #先执行输出变量b的操作,后变量b的值+1 System.out.println(b); //4
int a = 5; int i = 5; // a = 5 + 6 + 8 + 9 a = i++ + i++ + ++i + ++i; System.out.println(a);//28 System.out.println(i);//9 //a = 9 + 9 + 9 a = i-- + ++i + i++; System.out.println(a);//27
2、关系运算符
> < >= (大于等于) <=(小于等于) !=(不等于) ==(等于)
语法格式: boolean 变量名字 = 值1 关系运算符 值2;
boolean ret1 = 3 > 4; System.out.println(ret1);//false boolean ret2 = (5 > 1); System.out.println(ret2);//true boolean ret3 = 4 >= 3; System.out.println(ret3);//true boolean ret4 = 5 == 5; System.out.println(ret4); boolean ret5 = 6!=6; System.out.println(ret5);//false
3、逻辑运算符
&&
语法格式: 关系运算符的表达式1 && 关系运算符的表达式2 //如果表达式都为true的时候整体结果i就为true。如果有一个表达式为false,那么整体就为false boolean ret = (3 > 4) && (4 > 2); System.out.println(ret);//false boolean ret1 = (5 >1) && (3 >2) && (9 >= 7); System.out.println(ret1);//true
||
boolean ret1 = 3 > 4 || 5 >3; //|| 或是只要有一个为true 则整体为true。 两个都是false才为false System.out.println(ret1);//true boolean ret2 = 5 < 3 || 7 < 2 || 7 < 4; System.out.println(ret2);//false
非: !
boolean ret3 = !(3 > 4);//取反 System.out.println(ret3); //true
条件1 && 条件2 && 条件3&&... 只要有一个为false整体就为false
注意: 条件1为false的话,已经确定整体为false,后面的条件就不再运行。
逻辑或的短路原则
条件1 || 条件2 ||...
只要一个为true,整体就为true了。
注意: 如果条件1 为true的话,后面的条件就不再执行,因为条件1为true的话
//逻辑与的短路原则 int num = 10; boolean ret1 = (3 < 2) && (++num > 12); System.out.println(ret1);//false System.out.println(num);//10 //逻辑或的短路原则 int num1 = 10; boolean ret2 = (3 > 2) || (++num1 > 90); System.out.println(ret2);//true System.out.println(num1);//10
5、分支结构
1、if 分支
语法格式:
if (表达式) { 语句体 }
执行流程:首先进入if 判断if后面小括号中的表达式的值 如果为true 则执行后面大括号中的语句体。
int a = 3; if (a < 1) {//小括号中的表达式的结果决定这大括号里面是否执行 System.out.println("嘻嘻,3 大于1"); } System.out.println("代码执行结束");
2、if-else分支
语法格式:
if (表达式) { 语句体1 } else { 语句体2 }
int money = 30;//口袋里面有30块钱 //如果口袋里面的钱超过了20,打印我就吃顿好的。鲍鱼 //如果口袋里面的钱没有超过了20,打印就凑合一下。泡面 if (money > 20) { System.out.println("我就吃顿好的。鲍鱼"); } else { System.out.println("就凑合一下。泡面+加肠"); }
3、if-else if 分支
语法格式:
if (表达式1) { 语句体1 } else if (表达式2) { 语句体2 } else if (表达式3) { 语句体3 }else if (表达式4) { 语句体4 }else { 语句体n }
如果语文成绩小于80分大于60且数学成绩大于60分小于80,打印及格
int chineseScore = 89;//语文成绩 int mathScore = 29;//数学成绩 /**chineseScore >= 80 && mathScore >= 80 * 89>=80 && 29>=80 true && false 整体结果就是false * */ if (chineseScore >= 80 && mathScore >= 80) { System.out.println("给奖学金"); } else if ((chineseScore >= 60 && chineseScore < 80) && (mathScore >= 60 && mathScore < 80)) { System.out.println("及格"); } else if (chineseScore< 30 && mathScore < 30) { System.out.println("重修"); } else { System.out.println("继续努力!!!有一门需要努力"); }
4、switch-case分支
只有当满足当前的条件的时候才会执行前的语句体
语法格式:
switch (表达式) {//表达式 结果是一个具体的值 不是布尔类型的值 case 常量1: 语句体1; break; case 常量2: 语句体2; break; case 常量3: 语句体3; break; ... default://其他的情况 语句体n; break; }
int score = 28; //找规律: 90~100 91/10=9 92/10 =9 99/10=9 //87/10=8 81/10=8 switch (score / 10) { case 10: System.out.println("优秀"); break; case 9: System.out.println("优秀"); break; case 8: System.out.println("良好"); break; case 7: System.out.println("一般"); break; case 6: System.out.println("及格"); break; default: System.out.println("不及格,要努力"); break; }
注:swicth表达式中,常量的值可取的数据类型
byte short int char String 枚举(jdk1.8新特性)
接收控制台的数据给 Java中某一个变量
1.导包 import java.util.Scanner; 2.创建一个对象 Scanner 对象 Scanner scanner = new Scanner(System.in); 3.拿对象sc调用方法获取控制台的各种类型的数据 int a = scanner.nextInt(); //获取的是整数类型的 double a = scanner.nextDouble(); //获取的是小数类型的 boolean b1 = scanner.nextBoolean(); //获取的是布尔类型的 String str = scanner.next(); //获取的是字符串类型的 char ch1 = scanner.next().charAt(3); //获取字符,依靠字符串来获取 获取控制台输入的字符串的4位字符
5、三目运算符
语法格式:数据类型 x = 表达式 ? 值1 : 值2;
int a1 = 20; int c1 = a1 > 50 ? 30 : 0; //先判断 a1 > 50 的值,如果true 将30 f赋值c1 如果为false 将0 赋值给c1 System.out.println(c1); // 0 //等效于 if ( a1 > 50) { c2 = 30; } else { c2 = 0; }
6、循环结构
循环至少三个条件: 1.初始化条件 2.循环条件 3.终止条件
1、while循环
语法格式:
while (布尔表达式) { 循环体; }
如果代码执行到while以后,首先判读小括号中的布尔的表达式
如果布尔表达式为true,执行大括号中的循环体。然后再次到while
再次判断布尔表达式,
直到布尔表达式为false的时候,
例:打印1 ~9这些数字
int i = 1; while (i < 10) { System.out.println(i+" ");//刚好借助i的值 来完成输出 i++; }
1 2 3 4 5 6 7 8 9
2、do-while
语法格式:
do { 循环体 } while (布尔表达式);
首先代码走到 do
执行do后面大括号中的代码(循环体),然后执行while后面的布尔表达式,
判断布尔表达式
如果表达式为true 的话,再次回到do 执行循环体,然后执行while后面的布尔表达式
int i = 9; do { System.out.println("hello"); i++; } while (i < 3);
注:while 循环和do-while的区别-->while先判断根据判断的结果后执行, do-while 先执行后判断
3、for循环
语法格式:
for (表达式1; 表达式2; 表达式3) { 循环体; }
for (int i=0;i<10;i++){ System.out.print(i+" "); }
0 1 2 3 4 5 6 7 8 9
4、嵌套循环
循环中嵌套另外一个循环
例:打印直角三角形
for (int i = 1; i < 5; i++) {//控制的行 4行 for (int j = 1; j <= i; j++) {//控制的列 让你 System.out.print("* "); } System.out.println(); }
* * * * * * * * * *
热门相关:倾心之恋:总裁的妻子 锦乡里 催情宝鉴番外篇之《红粉欲望》 监禁时间 儿子的妻子