仅展示少数与pyhon的区别
package reJava1;
import java.util.Arrays;
import java.util.Scanner;
public class 结构基础 {
/**//**/
// 不同点
//编译成字节码文件,JVM开辟内存内空间,类加载器把字节码文件搬到JVM中
public static void main(String[] args) {
int a1=12,a2=13,a3,a4=9;
long b=1L;
float a=3.3F;
char c='c';//单引号
String d="dd";//双引号
int e=1;
byte f=(byte)e; //int num=Integer.parseInt(String str);
char g=(char)2;
int h=(int)'h'; //不能强制转化双引号。String是引用类型
char ci=1; //1自动变成char
char co='+'+1; //会先把'+'变成数字加1,然后转化成char
int cp='+'+1; //'+'+1默认为数字
//但是
char m1='+';
// char m2=m1+1; 报错,不同类型变量不可相加,其他也同理(String除外)
char m2=(char)(m1+2);
String st="k"+1+'d'; //按顺序来算,String>int>char
String str='d'+1+"k";
int j=0;
for(int i=0;i<3;i++){
j=j++; //先备份后自增,给备份,不是再执行j=j+1
System.out.println(j);
}
String stri="123";
int num= Integer.parseInt(st); //String是引用类型,不能强制转换,int num=Integer.parseInt(String str);
char[] ch="asas".toCharArray(); //String转化成char数组
char cha="asd".charAt(0); //"asd"第零个转化成char
String[] chaa="asd".split("");
String chha=String.valueOf('a'); //char变String
String ccha=String.valueOf(ch); //char数组合起来变String
String sst=cha+"";
String reSt=num+""; //转化成字符串类型+""最快
// import java.util.Scanner;
Scanner object=new Scanner(System.in); //现在好像这个问题不存在了
// 获取object对象的属性: object.nextInt();读取字符串转化成数字,回车结束不读取回车符,回车符留在消息队列中 object.nextLine();读取字符串,回车符结束读取回车符,回车符扔掉
System.out.println(object.nextLine()); //使用的时候才会触发输入, object.next();回车符和空格结束,读取字符串不读取回车符
object.close();
double k=Math.random();//Math.random() double类型[0,1); Math.pow(double a,double b) double 类型a的b次方
System.out.println((int)(k*6+1));//1~6
// k==i;比较地址 k.equals(i);比较值
switch(24/10){//满足之后下面的case全部执行;执行比if快;
case 1:System.out.print(num);break; //case的必须是常量
case 2:System.out.print(j);break;
default:System.out.print(k);break;
}
over:for(int aa=0;aa<2;aa++){ //循环标记
for(int bb=0;bb<3;bb++){
if(bb==2){
break over; //break带有该标记的循环
}
}
}
switch (0){ //switch加强,不用break了
case 2->System.out.println("as");
case 3->System.out.println("sa");
}
int[] ints= new int[3]; //for增强
for(int i:ints){
System.out.println(i);
}
//二维数组同理
//动态初始化,只声明数组长度
String[] strin=new String[5]; //五个null,引用数据类型都是null(都是0对应的) {属性有默认值,变量没有}
//静态初始化
int[] arr1=new int[]{1,2,3};
int[] arr2= {1,2,3};
for(int el:arr2){
System.out.println(el);
}
System.out.println(arr2);//乱码
int[] arrLi=new int[]{1,5,6,9,3,7};
// Arrays.sort(arrLi); //升序排 Arrays.sort(arr);
// for(int index:arrLi){System.out.println(index);}
// Arrays.sort(arrLi,2,4); //下标2到3进行升排序,左闭右开 Arrays.sort(arr,2,4);
// for(int index:arrLi){System.out.println(index);}
// int index=Arrays.binarySearch(arrLi,5); //(二分查找)找到5所在的位置 Arrays.binarySearch(arr,element)
// System.out.println(index);
// int[] newArray=Arrays.copyOf(arrLi,arrLi.length); //复制长度为L的arr int[] newArr=Arrays.copyOf(arr,L);
// for(int index:newArray){System.out.println(index);}
}
}