publicclassConversionMandatory{publicstaticvoidmain(String[] args){int i =(int)1.9;System.out.println(i);//1/*
强制类型转换符只针对最近的操作数有效,往往会使用()提升优先级
*/// int x = (int) 10.0/4+3.0;// 报错因为int只会转换10.0/4的值,3.0是double类型,最后自动类型转换值的类型会是double类型int x2 =(int)(10.0/4+3);System.out.println(x2);//5/*
char类型可以保存int的常量值,但不能保存int的变量值
*/char c1 =100;int m =100;// char c2 = m; // 报错char c3 =(char)m;System.out.println(c1+"-"+c3);// d-d}}
publicclassConversionMandatory{publicstaticvoidmain(String[] args){int i =(int)1.9;System.out.println(i);//1/*
强制类型转换符只针对最近的操作数有效,往往会使用()提升优先级
*/// int x = (int) 10.0/4+3.0;// 报错因为int只会转换10.0/4的值,3.0是double类型,最后自动类型转换值的类型会是double类型int x2 =(int)(10.0/4+3);System.out.println(x2);//5/*
char类型可以保存int的常量值,但不能保存int的变量值
*/char c1 =100;int m =100;// char c2 = m; // 报错char c3 =(char)m;System.out.println(c1+"-"+c3);// d-d/*
byte和short在进行运算时,当做int类型处理
*/byte a =1;int b = a +10;System.out.println(b);//11}}
基本数据类型和String类型的转换
基本数据类型转String
基本数据类型+ "" 即可
String类型转基本数据类型
通过基本类型的包装类调用parseXX方法即可
publicclassStringBasic{publicstaticvoidmain(String[] args){int a =1;String str = a +"";System.out.println(str);//1System.out.println(Integer.parseInt("123"));//123System.out.println(Double.parseDouble("123.1"));//123.1System.out.println(Float.parseFloat("1F"));//1.0System.out.println(Short.parseShort("123"));//123System.out.println(Long.parseLong("123"));//123System.out.println(Boolean.parseBoolean("true"));//trueSystem.out.println(Byte.parseByte("123"));//123}}
被java赋予了一定意义的标识符,我们不能使用
class interface enum byte short int long float double char boolean void true false null if else switch case default while do for break continue return private protected public abstract final static synchronized extends implements new this super instanceof try catch finally throw throws package import native strictfp transient volatile assert
publicclass main {publicstaticvoidmain(String[] args){int a =0b11;// 2进制int b =3;// 10进制int c =003;// 8进制int d =0x3;// 16进制System.out.println(a +"-"+ b +"-"+ c +"-"+ d);// 3-3-3-3}}
// 条件满足时,跳出循环,一般使用在switch和循环中publicclassBreakwhile{publicstaticvoidmain(String[] args){while(true){int result =(int)(Math.random()*100);if( result ==99){System.out.println(result);break;}else{System.out.println(result);}}}}
break细节
// break可以指定跳到多重循环的某一层for循环,再从跳到的循环上面一层循环开始执行publicclassBreakforfor{publicstaticvoidmain(String[] args){
label1:for(int i =0; i <3; i++){System.out.println("i"+i);
label2:for(int j =0; j <3; j++){System.out.println("j"+j);for(int k =0; k <3; k++){if(k ==1){break label2;}System.out.println("k"+k);}}}}}
continue
// 跳出当前循环,不在执行当前这次循环的后面的代码publicclassContinue{publicstaticvoidmain(String[] args){for(int i =0; i <3;i++){for(int j =0; j <3; j++){if(i ==0){continue;}// 不可能输出0System.out.println(i);}}}}
return
// 跳出当前的方法,如果是在主方法里面程序就会执行publicclassReturn{publicstaticvoidmain(String[] args){System.out.println("1");for(int i =0; i <2; i++){return;}// 不会执行输出"2"System.out.println("2");}}
数组的基本使用
publicclass array_start {publicstaticvoidmain(String[] args){double[] arr ={1,2,3,4,5};double total =0;for(int i =0; i < arr.length; i++){
total += arr[i];}System.out.println(total);}}
数组初始化的方式
动态初始化1
1、double[] arr 等价 double arr[]
2、int[] a = new int[5],开辟一块内存为5的空间
importjava.util.Scanner;publicclass dynamic_initialization {publicstaticvoidmain(String[] args){Scanner myScanner =newScanner(System.in);double[] arr =newdouble[5];for(int i =0; i < arr.length; i++){System.out.println("请输入第"+(i +1)+"个值");
arr[i]= myScanner.nextDouble();}for(int i =0; i < arr.length; i++){System.out.println("你输入的第"+(i +1)+"个值是"+ arr[i]);}}}
动态初始化2
先声明,再分配空间
importjava.util.Scanner;publicclass dynamic_initialization2 {publicstaticvoidmain(String[] args){Scanner myScanner =newScanner(System.in);double[] arr;// 满足某种条件的时候再分配空间if(true){
arr =newdouble[5];}for(int i =0; i < arr.length; i++){System.out.println("请输入第"+(i +1)+"个值");
arr[i]= myScanner.nextDouble();}for(int i =0; i < arr.length; i++){System.out.println("你输入的第"+(i +1)+"个值是"+ arr[i]);}}}
静态初始化
如果知道数组的元素的值,可以直接在声明的时候,直接初始化值
publicclass array_start {publicstaticvoidmain(String[] args){double[] arr ={1,2,3,4,5};double total =0;for(int i =0; i < arr.length; i++){
total += arr[i];}System.out.println(total);}}
publicclass copy_an_array {publicstaticvoidmain(String[] args){int[] arr1 ={1,2,3,4,5};int[] arr2 =newint[arr1.length];for(int i =0; i < arr1.length; i++){
arr2[i]= arr1[i];}
arr2[4]=10;System.out.println(arr1[4]+"--"+arr2[4]);// 5--10}}
数组翻转
publicclass array_reverse {publicstaticvoidmain(String[] args){int[] arr1 ={1,2,3,4,5};int[] arr2 =newint[arr1.length];for(int i =0; i < arr1.length; i++){
arr2[arr2.length - i -1]= arr1[i];}for(int i =0; i < arr2.length; i++){System.out.println(arr2[i]);}}}