java数据类型及运算符笔记

1、java数据类型
数值型:
    整型:默认0
        byte:8位、-128~127、 -2^7~2^7-1 (0~255无符号位,java不存在)(jvm缓存机制)
            0111 1111(第一位作为符号位)
            1000 0000        
        short:16位、-32768~32767、-2^15~2^15-1
        int: 32位、-21亿~21亿 -2^31~2^31-1 (最常用,默认为int)
        long:64位
    浮点型::默认0.0
        float:单精度浮点型:1.1f  最大保存7位
        double: 双精度浮点型:1.1(默认)  最大保存19位
非数值型:
    字符型char:由字母、数字、符号、不可见字符
        ASCII码表: 48对应字符'0'、65对应字符'A'、97对应字符'a';
        字符由单引号
        布尔值型boolean:真、假(true、false)、默认为false
以上为基本数据类型
java提供类型:
    字符串型string:一串字符,表现为"一串字符"
    自定义类型:

快捷键:public static void main()  ---- psvm
        System.out.print -----  sout
        
常量final:禁止修改
        名称全大写,用下划线分割 如:OBJECT_OF_B
        
2、Scanner用法:
    1、Scanner变量定义:Scanner 变量=new Scanner(System.in);
    2、导入包 import java.util.Scanner;
                import java.util.*;宽泛包
    3、输出提示信息
    4、接收输入
        String 对应 变量.next()
        int 对应 变量.nextInt()
        double 对应 变量.nextdouble()
    5、控制台输出
    
3、变量的组成:变量名,变量类型,变量值
    命名规则:字母,下划线,$符号,¥符号,数字;不可以数字开头
                不可以使用关键字
                
4、类型转换
    //类型转换
    //所有基本数据类型之间的赋值,都是值传递
    public class Demo5 {
        public static void main(String[] args) {
            float avgScore1=81.29f;
            int add=2;
            //底层原理是不支持不同类型间的计算
            //隐式类型转换(默认类型转换)
            float avgScore2=avgScore1+add;//float+int -> float+float
            double result=avgScore2;//大类型接收小类型
            double a=2.0;
            int b=(int)a;//强制类型转换
            System.out.println(avgScore2);
        }
    }
    1、不同类型之间运算的前提:能互相转换(一般指数值类型)
    2、不同类型运算会默认转成大类型再运算
    3、大类型接收小类型,会默认转成大类型
    4、小类型接收大类型,需要强制转换成小类型,否则不可以
    5、强制类型转换时,会丢失精度(直接丢弃)----造成数据失真
    
5、运算符:
    public class Demo6 {
        public static void main(String[] args) {
            int a=1,b=2;
            int tmp=a;//三变量交换法
            a=b;
            b=tmp;
            System.out.println("a是"+a+" b是"+b);
        }
    }
加(+) 减(-) 乘(*) 除(/) 取余(%) ++  --

    
复合运算符
    +=  、-=、 *=、/=、%=;
    
    
    public class Demo7 {
    public static void main(String[] args) {
        int a=1;
        System.out.println(a++);//表达式本身有值、a++代表加之前的值
        System.out.println(a);
        System.out.println(++a);//++a代表加之后的值
        System.out.println(a);

        //复合运算符
        int b=7;
        b+=3;//b=b+3
        System.out.println(b);
        b-=3;//b=b-3
        b*=3;//b=b*3
        b/=3;//b=b/3
        b%=3;//b=b%3
    }
}

    
关系运算符:
    等于:==    一般用于值的判断,基本数据类型
    不等于:!=
    大于:>
    小于:<
    大于等于:>=
    小于等于:<=
    输出结果为true或false(布尔值)

    >、<、>=、<=运算符的优先级别高于==、!=
    
    
逻辑运算符:
    a&&b    a和b同时为true时结果才为ture;    短路与        前式不成立,则不再计算后式
    a||b    a和b同时为false的时候结果为false;    短路或  前式成立,则不再计算后式
    a&b        逻辑与        前式不成立时,依旧计算后式   按位与:(3&2)即:11&10  相同为1,所以结果为10(2)
    a|b        逻辑或                                     按位或:(3&2)即:11&10  有1即为1,所以结果为11(3)
    !a        非    若a的值为true,则结果为false;
    
优先级:
    单目运算符包括! ++ --,优先级别高
    优先级别最低的是赋值运算符
    可以通过()控制表达式的运算顺序,()优先级最高
    从右向左结合性的只有赋值运算符、三目运算符和单目运算符
    算术运算符 > 关系运算符 > 逻辑运算符

    
三元表达式:
    判断条件?a:b        条件为true结果为a,false结果为b
    int min;
    min = 5 < 7 ? 5 : 7;
    System.out.println(min);
    min = 10 < 7 ? 10 : 7;
    System.out.println(min);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_60410150

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值