Java基础二
1 数据类型转换分为俩类:自动类型转换和强制类型转换
自动类型转换:自动进行,条件:数据从小范围向大范围转化
1 int a = 100; 2 long b=a; //int--long 自动类型转换
强制类型转化:大范围向小范围转换
1 long b=1000; 2 int a = (int)b; //long-int 需要强制类型转换
2 byte/short/char 在运算中会自动转换为int类型
1 byte a=23; 2 byte b = 30; 3 byte c = a+b; //会发生错误 byte <--int + int 4 byte c=(byte)(a+b);
注意:自动类型转换会发生精度缺失和数据溢出
3 流程控制语句
switch(key) 其中的key只能是byte,short int .char String 枚举enum
4 java中的方法定义不允许嵌套
5 方法重载overload:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返 回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。 (与参数名无关)
6 数组
1 //定义 2 int[] a = new int[3]; 3 int[] a = new int[]{1,2,3}; 4 int[] a={1.2.3}; //不可以分开写
数组长度 数组名.length
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
如果是整数类型,那么默认为0;
如果是浮点类型,那么默认为0.0;
如果是字符类型,那么默认为'\u0000';Unicode 十六位
如果是布尔类型,那么默认为false;
如果是引用类型,那么默认为null。
静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。
7 类
面向对象的三大特性:封装,继承,多态
定义一个标准的类
1 public class ClassName{ 2 private String name; 3 private int age; 4 public ClassName(){} //无参构造方法 5 public ClassName(String name,int age){ 6 this.name = name; 7 thsi.age= age; 8 } 9 10 11 public void setName(String name){this.name = name}; 12 public String getName(){return name;} 13 public void setAgef(int age){this.age = age} 14 public int getAge(){return age} 15 }
① 默认不写构造方法,编译器会自动加一个,写了则不在有
8 引用类型的使用
①导包
②创建
③使用
1 import java.util.Scanner; 2 3 Scanner sc = new Scanner(System.in); 4 int a = sc.nextInt();
1 import java.util.Random; 2 3 Random random = new Random(); 4 for(int i=0;i<10;i++){ 5 System.out.println(random.nextInt(10)); 6 }
example
1 import java.util.Scanner; 2 import java.util.Random; 3 import java.util.ArrayList; 4 public class Test1{ 5 public static void main(String[] args){ 6 ArrayList<Integer> array = new ArrayList<>(); 7 Random random = new Random(); 8 for(int i=0;i<10;i++){ 9 array.add(random.nextInt(10)); 10 } 11 for(int i:array){ 12 System.out.println(i); 13 } 14 } 15 }

浙公网安备 33010602011771号