拓展
1、8种基础数据类型,归类整理,整数家族几个,小数家族几个…
Java数据类型:基本数据类型,引用数据类型
基本数据类型:整数类型、浮点类型、字符类型、布尔类型
byte 是计算机的最小存储单位,1byte = 8 位,取值范围:-128 到 127
short 是2个byte,取值范围:-32768 到 32767
int是4个byte, 取值范围:-2147483648~2147483647 正负21亿!
long是8个byte, 取值范围:-9223372036854775808至9223372036854775807
public static void main(String[] args) { //整数类型 byte b = 127;//-128 到 127 short c = 32767;//-32768 到 32767 int a = 10;//-21亿 long d = 10; //字符类型 char e = 'A'; //布尔类型 boolean f = false;//false,true //浮点类型 double g = 3.14; float h = 3.12F;//F 或 f }
public static void main(String[] args) { //在Java中基本数据类型,可以相互转换,但是转换的规则是: //小容量的数据变量,可以向 大容量的数据变量进行直接转换 //但是大容量的数据变量,不能直接向 小容量的数据变量进行转换;如果非要转换,请使用 强制转换符 // 语法:小容量的数据类型 变量 = (小容量的数据类型) 大容量的值; int a = 32768; short b = (short)a; System.out.println(b); }
2、++i和i++? 变量使用的注意事项,数组的特点
public static void main(String[] args) { // int i = 10; // ++ i;// i++ & ++i 在单独使用时,效果是一样的,都是替代:i = i + 1; // System.out.println(i); //但是 不单独使用呢? // int a = 5; // System.out.println(a ++);// ++ 在后,先使用变量的值,然后再让变量 + 1 // System.out.println(a); int b = 5; System.out.println(++ b);// ++ 在前,先让变量的值+1,然后再使用 System.out.println(b); }
案例:
public static void main(String[] args) { int a = 4; int b = 5; // 4 + 6 + 5 int c = a++ + ++b + a++; System.out.println(a);//6 System.out.println(b);//6 System.out.println(c);//15 }
短路和 以及 短路或:
短路&& 前面的任意一个条件为false,后面的条件都不需要去执行
短路|| 前面的任意一个条件为true, 后面的条件都不需要去执行
public static void main(String[] args) { int a = 5; int b = 4; // //&& 逻辑和/逻辑与 要求:两边的条件必须要同时满足,才为true // // 但是,也被称为:短路和/短路与 // System.out.println((a++ > 5) && (b-- < 4)); // System.out.println(a);//6 // System.out.println(b);//4 //|| 逻辑或 要求:两边的条件任意一个满足,就是true //但是,也被称为:短路或 System.out.println((a++ > 4) || (b-- < 5)); System.out.println(a);//6 System.out.println(b);//3 }
变量使用的注意事项:
public class DataTypeDemo { public static void main(String[] args) { //变量语法:数据类型 变量名称 = 初值; // int a; // System.out.println(a);//1、变量没有定义初始值 // int a = "11"; //2、数据类型不匹配 // for(;;){ // int a = 11; // } // a++; //3、脱离变量的定义范围 int a = 11; System.out.println(a); int a = 20; //4、变量名重复定义 } }
数组的特点:
1、存储空间是连续的
2、数组中值的类型是相同
3、数组的长度是固定的
3、&和&&,|和||
-短路运算
&& || 逻辑和 逻辑或,说他们具备短路效果!
& | 又是什么呢? & 按位与 | 按位或
public static void main(String[] args) { int a = 4; int b = 5; //& 同为1 为1 | 只要有1,就是1 ^ 01 才是1 //0000 0100 //0000 0101 //0000 0001 System.out.println(a ^ b); }
& | 两端也可以放置条件,但是不具备短路效果
public class DataTypeDemo { public static void main(String[] args) { int a = 4; int b = 5; // System.out.println((a++ > 4) & (--b < 5));//不具备短路效果 System.out.println((a++ > 3) | (--b > 3)); System.out.println(a);// 5 System.out.println(b);// 4 } }
4、if-else与平行双if的区别?
if(条件){ //业务1 }else{ //业务2 } if(条件1){ //业务1 } if(条件2){ //业务2 }
if-else 双分支,if-else if 多分支 具备排他性!
而if 平行这种模式,不具备排他性!
5、break;continue;return;System.exit(0);的区别?
-return;跳出当前方法
-System.exit(0);跳出虚拟机
-break;终止当前循环
-continue;从此处起立即进行下一圈循环
public class DataTypeDemo { public static void main(String[] args) { for(;;){ System.out.println("请输入一个值:"); int a = new Scanner(System.in).nextInt(); if(a == 1){ m1(); }else if(a == 0){ System.exit(0);//代表 关闭JVM 运行环境 } System.out.println("继续执行代码!"); } } public static void m1(){ System.out.println("即将return!"); return; } }
break & continue
需求:从20 岁- 100岁之间,整10年就表白一次!
public class DataTypeDemo { public static void main(String[] args) { for(int year = 20;year <= 100; year ++){ if(year % 10 != 0){ continue;//退出当次循环,进入到下一次 } if(year == 50) { break;//终止循环 } System.out.println("第"+year+"年,表白!"); } } }
6、==/equals();
-暂时针对字符串 : ==比对地址,而equals()比对内容.
//基本数据类型的值,如果要发生比较,则使用 == //引用数据类型,如果使用 == ,它不是比较内容,而是比较地址