一、单引号括起来的是字符,双引号括起来的是字符串

二、变量的数据类型

1、两大类:基本数据类型、引用数据类型

基本数据类型(4类八种):数值型(byte:1个字节,short:2字节,int:4字节,long:8字节),浮点型(float,dubbo),字符型(char),布尔型(boolean)

引用数据类型:类,接口,数组

byte    1  (-128~127)

short   2(-32768~32767)

int       4

long    8

 

1Byte = 8bit

1KB = 1024Byte

1MB  = 1024KB

1GB = 1024MB

 

整数在Java中有三种表示方法

十进制(常用的)

八进制(从0开始)

十六进制(从x0开始)

Java中任何一个整数,默认类型都是int



//十进制
        int l1 = 10;

        //八进制,已0开头
        int l2 = 010;

        //十六进制,已x0开头
        int l3 = 0x10;

        System.out.println(l1+l2+l3); //34


        //自动类型转换,小容量-->大容量
        // int-->long
        long t1 = 10;

        //不需要类型转换
        long t2 = 10L;//加个l表示长整型

        long t3 = 2147483647;

        long t4 = 2147483648;//int类型的最大容量为2147483647,超出去就会报错,只需要在后面增加一个l就可以



2如果整数没有超出范围,可以直接将这个整数赋值给byte,short,char

 



/*
        关于byte,short,int,long
        如果整数没有超出范围,可以直接将这个整数赋值给byte,short,char
         */
        byte s1 = 10;
        byte s2 = 127;//byte的容量范围是-128~127,整数没有超过最大范围时,可以直接赋值给byte

        //整数超出了最大范围,即大容量像小容量转换时需要强制转换,强制转换的弊端:丢失精度
        byte s3 = (byte)128;
        System.out.println(s3);//-128 强制转换为负的最大值
        byte s4 = (byte)156;
        System.out.println(s4); //-100  强制转换成-100,丢失了精度

short s1 = 32767; //short的容量范围是-32768~32767
        short s2 = (short)32768;
        System.out.println(s2);
        short s3 = (short)32999;
        System.out.println(s3);



 

3、

关于char类型,最大取值范围为:0~65535==>2^16

即可以把数字赋值给char类型,也可以字符赋值给char类型
char类型中有字符编码方式:
基本的编码是ASCII:

'a'  97
'A'  65
'0'  48



char c1 =10;
        char c2 = 'a';
        System.out.println(c2);//a
        char c3 = '中';
        System.out.println(c3);//中
       // char c4 = '中国';//char两个字符长度,一个汉字占两个字符长度,所有'中国'四个字符长度,会报错
        char c5 = 65535;
        char c6 = (char)65536;//超出最大取值范围会报错,采用强制转换
        System.out.println(c6);//[]




4、浮点型:类型:folat,double
float 4字节
double 8字节

Java中的小数默认的类型都是double类型
如果想表示float类型,必须在后面添加F/f



double d1 = 3.25;
float f1 = 3.25f;//float表示,必须在后面加F/f
float f2 = (float)3.25;//大容量转换成小容量,强制转换
System.out.println(f2);



5、boolean类型一个直接,只有两个值,true,flase

一般用于判断语句

6、char类型

1、char在Java中表示字符,描述的是显示世界中的文字
2、因为计算机只识别二进制,所以必须引入"字符集编码方式"
3、导致程序乱码原因:编码和解码不一致
4、char底层占用两个字符,编码方式采用的是unicode(UTF-16)进行编码
5、汉字占用两个字符,所以char可以存储一个汉字

 7、基本数据类型的转换关系

|-- 八种基本数据类型中,只有boolean类型不能参加类型转换

|-- 小容量向大容量转换,叫做自动类型转换

  byte<short(char)<int<long<float<double

|-- byte,short,char三种类型做混合运算先转换成int类型在做运算

|-- 大容量向小容量转换,叫做强制转换,需要加强制类型转换符

|--  如果整数没有超出范围的话,可以直接将整数赋值给byte,short,char

|-- 多种数据类型做混合运算先转换成容量大的那种在做运算

 三、算术运算符



/*
    算术运算符:
    + 求和
    - 相减
    * 乘法
    / 除法
    % 取余数
    ++ 自加1
    -- 自减1
     */
    public static void main(String[] args){
        int a =10;
        int b = 3;

        System.out.println(a+b);//  13
        System.out.println(a-b);//  7
        System.out.println(a*b);//  30
        System.out.println(a/b);//  3
        System.out.println(a%b);//  1

        //关于++运算符
        int i= 10;
        i++;
        System.out.println(i);

        int j = 10;
        ++j;
        System.out.println(j);

        //这两种情况下++放在前面和放在后面是一样的

        //++出现在变量后面,先赋值后加1,++出现在变量前面,先加1后赋值
        int x = 10;
        int y=x++; //++出现在了x之后,即x的值10先赋值给y,则y的值变成了10,然后在+1

        System.out.println("y=="+y);//10
        System.out.println("x=="+x);//11

        int m = 10;
        int n = ++m;
        System.out.println("m=="+m);//11
        System.out.println("n=="+n);//11

    }



四、关系运算符

> <  >=等等,关系运算符一定是布尔类型的

五、布尔运算符

六、字符串的连接运算符