欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

01Java基础语法(复习篇)

程序员文章站 2022-06-17 10:28:17
...

一、关键字、常量、标识符
  关键字:java中具有特殊含义的单词,关键字全部小写并且高亮显示;
  常量 :程序运行过程中值不可发生改变的量;Java中有整数常量、小数常量、字符常量、字符串常量、布尔常量、空常量;
  标识符:给类、方法、变量、常量命名时使用的名字

二、八种基本数据类型以及变量使用要点
整数类型:byte 1字节、short 2字节、int(默认)4字节、long 8字节
浮点类型:float 4字节、double(默认)8字节
字符类型:char 2字节
布尔类型:boolean 1字节

变量在使用之前必须要初始化
long类型变量初始化时在整数后面加L(不建议小写)
float类型变量初始化时在小数后面加F(不建议小写)

三、键盘录入数据(以int类型举例)

public class Test {
    public static void main(String[] args)  {
        Scanner sc=new Scanner(System.in);
        int c=sc.nextInt();
    }
}

  String类型键盘录入有盲点,后续博客解析

四、类型转换
  类型转换分为两种:自动类型转换、强制类型转换
  自动类型转换:把一个数据范围小的变量赋值给数据范围大的变量
类型大小关系图:
01Java基础语法(复习篇)
  强制类型转换:把一个数据范围大的变量赋值给数据范围小的变量(可能造成精度丢失)

类型转换举例:

public class Test {
    public static void main(String[] args)  {
       byte a=10;
       byte b=15;
       byte c=a+b;
    }
}

  byte c=a+b;报错:在等号右侧计算前,a与b会自动转换为int类型,int类型赋值给byte类型会报错;

public class Test {
    public static void main(String[] args)  {
       double a=10.5;
       int b=10;
       int c=(int)a;
    }
}

  c的值为10;向下强制类型转化,舍弃小数变成int类型,精度损失;

常量优化机制: 编译时整数常量直接算出结果并且判断此结果是否在此类型数据范围内,若不在则出错。

public class Test {
    public static void main(String[] args)  {
      byte a=4+5;
    }
}

编译正确
五、运算符
“ + ”    “ - ”    “ * ”   “ / ”   “ % “
算术表达式计算时,若算术表达式中的基本数据类型不同,算数表达式类型自动提升;

当有byte、short、char类型时,这些类型先自动提升为int类型再与其他类型数据计算,其余类型计算整个表达式的结果为表达式中*的数据类型(参考上文中类型大小关系图)

在运算符中” + “有些特别,当” + “与字符串相连时此符号不再是算数运算而变成字符串连接符;

public class Test {
    public static void main(String[] args)  {
        System.out.println("我好帅"+1);
    }
}

01Java基础语法(复习篇)

六、switch 穿透现象

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        switch (a) {
            case 1:
                System.out.println(1);
                break;
            case 2:
                System.out.println(2);
                break;
            case 3:
                System.out.println(3);
                break;
            case 4:
                System.out.println(4);
            case 5:
                System.out.println(5);
            case 6:
                System.out.println(6);
            case 7:
                System.out.println(7);
                break;
            default:
                System.out.println("输入有误");
        }
    }
}

输入4输出结果为4 5 6 7
case的穿透现象总结就是碰break才结束,与case排列顺序无关,但是他一定会先找到你输入的值对应的case向下运行;

七、Random
概述:产生随机数的类

public class Test {
    public static void main(String[] args) {
        //创建Random对象
        Random r=new Random();
        //产生0~9的随机数
        int num=r.nextInt(10);
        //产生1~10的随机数
        int num2=r.nextInt(10)+1;
    }
}

八、数组
概述:数组时一个长度固定的容器,容器中的数据类型必须一致;

动态初始化:创建数组时只给定数组的长度,系统默认进行初始化;

静态初始化:创建数组时直接赋值。

打印数组变量时,控制台现实的时数组的内存地址

使用数组时注意所以不能越界

九、方法重载
多个方法在同一个类中,并且方法的名称相同,这些方法的参数不同或者类型不同或者数量不同,但与返回值无关!满足以上条件就构成重载