八大基本类型

基本类型 大小 示例 取值范围
booleam 1字节8位 true true,false
byte 1字节8位有符号整数 -12 -128~+127
short 2字节16位有符号整数 100 -32768~`+32767
int 4字节32位有符号整数 12 -2147483648~+2147483647
long 8字节64位有符号整数 10000 -263~+263-1
char 2字节16位Unicode字符 ‘a’ 0~65535
float 4字节32位浮点数 3.14 -3.4E38~3.4E38
double 8字节64位浮点数 -2.4e3D -1.7E308~1.7E308

数值类型

  • 整数:byte,short,int,long
  • 小数:float,double

    理论上来说要为数据选择合适的数据类型,但是一般都是整数用过int,小数用double即可,除特殊要求。 定义float后面必须加f java中所有的小数默认都是double类型,所以定义float类型需要加f. java中所有的整数默认都是int类型

非数值类型

  • char,booleam

    char是字符型,用单引号 booleam的值只有true和false

String是对象类型不是基本类型,用来表示字符串,要用””引起来。

变量的命名规则

  • 只能使用字母,数字,下划线,$,,并且首字母不能是数字
  • 大小写是敏感的,y和Y是不同的
  • 建议使用有意义的单词,比如总和用sun,分数用score等。

    常量

    定义以后不允许重新赋值,变量前边加一个final即可
    注意点:
    建议常量名全大写,比如PI,AGE,NAME
    当多个单词的使用用下划线,例如:MY_NAME,MY_AGE
    通常定义的时候即赋值

    1. //常量
    2. final double PI=3.14;
    3. int r=5;
    4. double s=PI*r*r;
    5. System.out.println(s);

    数据类型转换

    精度排行:
    byte强制转换:
    大的转换为小的,一般都是精度丢失。

    1. //强制转换
    2. double dou=99.9;
    3. int bin=(int)dou;

    自动转换:
    小的转换大的

    1. //自动转换
    2. byte a1=100;
    3. int a2=a1;//byte--->int
    4. double a3=a2;//int---->double

    转换规则:

  • 转换的时候必须要是可以转换的类型,不能把”张三”转换为int

  • 混合运算的时候结果是最大的那个类型

    运算符

    image.png

  • 基本算术运算符:+,-,*,/,%,++,—

  • 复合算术运算符:+=,-+,*=,/=,%=

+:如果两边都是数字结果为数字,如果有字符串参与,那么最终的结果就是字符串。

  1. int a_1=10,a_2=20;
  2. String a_3="tom";
  3. String a_s=a_3+a_1;//结果为tom10
  4. int a_s1=a_1+a_2;//结果为30;

/:整数除整数结果为整数小数位直接扔掉。
如果两个int相除的值需要为double型,需要把其中一个除数乘1.0即可。

  1. int b_1=5,b_2=2;
  2. double b_s=b_1/b_2;//结果为2.0
  3. double b_s1=b_1*1.0/b_2;//结果为2.5

++ —:
前置 先自增或自减在参与运算
后置 先运算后自增或自减

  1. // ++ --
  2. int c1=1,c2=1;
  3. //前置 先自增或自减在参与运算
  4. System.out.println(++c1); //结果为2
  5. //后置 先运算后自增或自减
  6. System.out.println(c2++); //结果为1
  7. System.out.println(c2); ///结果为2

+=,-+,*=,/=
主要作用是累加累减,累乘,累除

  1. //复合运算符:主要作用是累加累减,累乘,累除
  2. int e1=1,e2=2;
  3. e2+=e1;//累加

逻辑运算符

QQ图片20210319105229.png

条件运算符

格式:———>表达式?输出1:输出2
QQ图片20210319124105.png