Java2

数据类型

强类型语言

基本类型 primitive type

  1. 数值类型

    1. 整数类型

      • byte 1字节

      • short 2字节

      • int 4字节

      • long 8字节

    2. 浮点类型

      • float 4字节
      • double 8字节
    3. 字符类型

      • char 2字节
  2. boolean类型

    • true false 1位

引用类型 reference type

  1. 接口
  2. 数组
//整数扩展: 进制  二进制0b 十进制  八进制0  十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;

//float  有限  离散  舍入误差  约等于
//double
float f = 0.1f;
double d = 1.0/10;
System.out.println(f == d);//false

float f1 = 232424353454354f;
float f2 = f1 + 1;
System.out.println(f1 == f2);//true

//字符扩展 unicode编码
char c1 = 'a';
System.out.println(a);
System.out.println((int)a);//65

类型转换

低 byte, short, char --> int --> long --> float --> double 高

运算中,不同数据类型的数据先转化为同一类型

强制类型转换 (类型)变量名; 高到低

自动类型转换 低到高

  • 不能对布尔值进行转换

  • 不能把对象类型转换为不相干的类型

  • 内存溢出或精度问题

变量

  1. 类变量(静态变量)独立于方法之外,static修饰。第一次被访问时创建,程序结束时销毁。(静态区)

  2. 实例变量(非静态变量)独立于方法之外,没有static修饰。对象创建时创建,对象销毁时销毁。(堆内存)

  3. 局部变量(栈内存)类的方法中的变量

常量

final 常量名 = 值;

常量名一般用大写字母

命名规范

  • 类成员变量:首字母小写,驼峰原则
  • 局部变量: 首字母小写, 驼峰原则
  • 常量:大写字母,下划线
  • 类名:首字母大写,驼峰原则
  • 方法名:首字母小写,驼峰原则

运算符

//短路运算
int c = 5;
boolean d = (c<4) && (c++<4);
System.out.println(d);//false
System.out.println(c);//5,不会执行c++

//字符串连接符
int a = 10;
int b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30

Scanner

    public static void main(String[] args) {

        //创建一个扫描器的对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数据:");

        //判断是否还有输入
        if(scanner.hasNextLine()){
            //使用nextLine方式接收
            String str = scanner.nextLine();//程序等待用户输入完毕
            System.out.println("输入的内容为: "+str);
        }

        //IO流的类不关闭会一直占用资源
        scanner.close();

    }

public static void main(String[] args) {
        //输入多个数字,计算平均数
        Scanner scanner = new Scanner(System.in);

        double sum = 0;
        int num = 0;

        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();

            num++;
            sum += x;

        }

        System.out.println(num+"个数的和是:"+sum);
        System.out.println(sum+"个数的平均值是:"+(sum/num));

        scanner.close();
    }
  1. next()
    • 读取到有效字符后才可以结束输入
    • 自动去除有效输入之前的空白
    • 输入有效字符后的空白作为结束符
    • 不能得到带空白的字符串
  2. nextLine()
    • 以Enter作为结束符,可以获得空白

流程控制

  1. 顺序结构
  2. 选择结构
    • if结构
    • switch多选择结构(支持字符串匹配)
public static void main(String[] args) {
        //switch多选择结构 break穿透
        char grade = 'c';
        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            default:
                System.out.println("错误");
        }
    }
  1. 循环结构

    • while循环
    • do...while循环
    • for循环(快捷键 100.for 回车)
    int[] numbers = {1,2,3,4,5}
    for (int i = 0; i < 5; i++){
        System.out.println(numbers[i]);
    }
    for (int x:numbers){
        System.out.println(x);
    }
    
  2. break、continue

    • break:强制退出循环
    • continue:终止某次循环过程
上一篇:Java帝国的诞生


下一篇:第五天