Java中有四种,八个基本数据类型,分别是:

        整型:byte(字节型)        short(短整型)        int(整型)        long(长整型)

        浮点型:float(单精度浮点型)        double(多精度浮点型)

        布尔类型:boolean(作为比较特殊的数据类型,boolean布尔类型只有两个值,true和false)

        字符型:char(字符型)

每个数据类型都有各自的取值范围:

byte 字节型                     -2 ^ 7 ~ 2 ^ 7 - 1        

short 短整型                   -2 ^ 15 ~ 2 ^ 15 - 1        

int 整型                           -2 ^ 31 ~ 2 ^ 31 - 1    

long 长整型                    -2 ^ 63 ~ 2 ^ 63 - 1    

float单精度浮点型          保留小数点后面8位

double双精度浮点类型  保留小数点后面16位

boolean布尔类型           true/false

char类型                        0 ~ 65535

其中,char类型较为特殊,它虽然只能表示一个字符,但是有一套独特的赋值方式可以对char类型赋值

        常用的赋值方式:ASCII码表        unicode码表

        

public class Demo_06 {
public static void main(String[] args) {
/**
* 常用的赋值方式
* 语法:
* char 变量名 = '值';
* 值只能是一个并且不能没有
* 可以是字母,数字,汉字,符号...
*/
char a1 = 'a';
char a2 = 'A';
char a3 = '1';
char a4 = '中';
char a5 = ' ';//放了一个空格


//ASCII码:美国信息交换标准码,是一套编码方案,能够帮我们进行元素之间信息的转换共0 ~ 127共128//个字符

八种基本数据类中,除了boolean类型之外的数据类型之间均可以实现相互转换

        自动转换:小的数据类型转换为大的数据类型

        强制转换:大的数据类型转换为小的数据类型

public class T {
    public static void main(String[] args) {
        //数据类型的转换
        int a =5;
        double b =2.0;
        //给到两个变量,分别是整型的100和浮点型的2.0
        int c = a/b;//可以看到有报错,因为a/b的数据类型是浮点型,并不能被整数类型的变量c所接收,但是如果将变量c的数据类型改为浮点型
        //但是如果将变量c的数据类型改为浮点型就可以接收,也可以将a/b的数据类型转换为整型
        int d=(int) (a/b);//注意,如果进行强制转换,则结果不会为2.5,而是会为2,因为转化后变量b只接受a/b的整数部分,且不遵循四舍五入原则
        
        
        
        
        
    }
}

Java中提供了一个类(scanner),可以实现简单的人机交互

我们称之为文本扫描器

public class T {
    public static void main(String[] args) {
        //文本扫描器
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();//现在我们将控制台上输入的文本赋值到数据类型为整型的变量a中去
        System.out.println(a);//这边输出的结果就是我们从控制台中输入的数值
        
        
        
    }
}

Java中的基础运算符

1.三目运算符:

public class T {
    public static void main(String[] args) {
                System.out.println(100 < 50 || 100 > 200 ? "100比较大" : "200比较大");
                int m = 10;
                int n = 10;
//如果三目运算表达式的值要赋值给一个变量,那么要保证m和n的数据类型要接收值的
//变量的数据类型保持相同
                int w = m++ > ++n || n++ < ++m ? m : n;
            }
        }

三目运算符是一种简单实用的基础运算符.

2.逻辑运算符:

逻辑运算符的最终结果也是布尔类型.

&:与,当两个元素之间进行运算的时候,如果两个值结果都是true,  那么最终结果才是true,有一个是false结果就是false 

| :或,两个元素之间,只要有一个结果是true,那么就是true 

!:非,取相反,值是true,结果就是false,值是false,结果就是true  

^:异或,如果两个结果相同就是false,如果不同就是true

&&:短路与 只要执行的过程中发现有一个值是假的,那么就得出结论不再往后进行计算

||:短路或 只要执行的过程中发现有一个值是真的,那么就得出结论不再往后进行计算 * 结果和正常的与和或没有什么区别,但是在运算的过程中会有所不同.

其中,短路与和短路或的效率要高于与和或.

随机数:Java中可以生成伪随机数,目前世界上并没有随机数,Java中提供了生成伪随机数的方法

public class T {
    public static void main(String[] args) {
        Random ran =new Random();
        int a = ran.nextInt(100);//生成一个范围[0,100)的随机整数数a
        int b = ran.nextInt(200);//生成一个范围[0,200)的随机整数数b
        int c = ran.nextInt(300);//生成一个范围[0,100)的随机整数数c
        double d = Math.random();//生成一个[0,1)的随机浮点数d
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        
        
        
        
        
        
        
        
            }
        }

流程控制:

分支语句是一个代码块,在我们项目过程中是很常用的一个技术 ,根据我们的需求进行程序的执行  语法: if(条件表达式){  执行语句;  }

 执行过程:  如果条件表达式符合,就执行语句内容,

 如果条件不符合,就不执行 

public class T {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();//用户输入一个整数
        if (a<=50|a>=0){
//判断输入的数是否在区间[0,50]内,如果结果为true,则执行输出字符串"CSDN"
            System.out.println("CSDN");
        }


    }
}

        if-else:使用方法和if语句类似,但是多出了一个当条件不成立时执行另一个执行语句的功能

public class T {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();//用户输入一个整数
        if (a<=50|a>=0){//判断输入的数是否在区间[0,50]内,如果结果为true,则执行输出字符串"CSDN"
            System.out.println("CSDN");
        }else {
            //当条件不成立时,则执行输出字符串"csdn"
            System.out.println("csdn");
        }


    }
}

switch语句:

switch语句相对于上面两种语句更加完善,可以实现条件为某一个确定值时执行的功能

public class T {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();//用户输入一个整数
        switch (a){
            case 1://当值为1时,输出"中午吃面条"
                System.out.println("中午吃面条");
                break;
            case 2://当值为2时,输出"中午吃饭"
                System.out.println("中午吃饭");
                break;
            case 3://当值为3时,输出"中午吃汉堡"
                System.out.println("中午吃汉堡");
                break;
            default://如果以上都不满足,则输出"还不饿,喝点水吧"
                System.out.println("还不饿,喝点水吧");
                break;

        }
        

    }
}

        要注意的是,代码break;是用来截断代码块继续执行的,如果没有,会出现case穿透现象.即代码            块会一直运行各个执行语句,直到代码块结束停止;

        在某些情况下,我们可以合理的利用case穿透来简化我们的代码.