Day 04

今天所学内容

数据类型转换

数据类型容量
byte,short,char < int < long < float < double
每种类都能用数字表示
运算中,不同类型数据先转换为同一类型在进行运算

强制类型转换

int i = 128;
byte b = (byte)i; 
//-128 由高到低使用强制转换 数据大小超出byte容量,发生内存溢出
System.out.println((int)23.7);
 //double转换为int,高转低  //23 舍弃了小数
System.out.println((int)-46.98F); 
//float转换为int,高转低 //-46 舍弃了小数

自动类型转换

int i = 128
double c = i; //128.0 double是浮点数类型
//自动类型转换,无需任何操作,由低到高

数据类型转换计算

int money = 10_0000_0000; //jdk7的新特性,数字可以用下划线分割
int years = 20
int total = money*years; //-1474836480,内存溢出
long total2 = money*years; //-1474836480,内存溢出
//因为两个数据都是int,结果也是int,先计算出结果在转换成long,转换之前就已经溢出了
long total3 = money*(long)years;
//将years强制转换成long,因为数据类型相同才能运算,money自动转换成long(由低到高)

//注意:
long money1 = 10_0000_0000l
long money1 = 10_0000_0000L; //long类型数字后要用大写的L,小写的很容易混淆

数据类型拓展

整数拓展

//整数拓展 进制:二进制0b 八进制0 十进制 十六进制0x
int i = 10; //十进制:10
int i = 010; //八进制:8
int i = 0x10; //十六进制:16

浮点数扩展 银行业务怎么表示钱

float f1 = 0.1F; //0.1
double f2 = 1.0/10; //0.1
System.out.println(f1==f2); //false
//浮点数是离散的、有限的、接近但不等于
//最好完全避免用浮点数进行比较
float f4 = 23232311231231232131F;
float f5 = f4 + 1;
System.out.println(f4==f5); //true

银行业务计算可以运用 Bigdecimal 数学工具类

字符拓展

char c = 'a';
char b = '中';
System.out.println((int)c); //97 强制转换
System.out.println((int)c2); //20013 强制转换
/*
所有的字符本质还是数字,强制转换可以把字符变成数字
char类会涉及 编码 Unicode表:对应的字符对应数字  占2个字节 U0000  UFFFF
*/
char c3 = '\u0061'; //a

转义字符

System.out.println("Hello\tworld"); //Hello     world    
// \t制表符,转译为Tab
System.out.println("Hello\nworld"); 
/*
Hello
world \n换行 
*/

布尔值拓展

//布尔值拓展
boolean flag1 = true;
if (flag1==true){
System.out.println("true");
}
if (flag1){  //跟flag1==true表达意思相同
System.out.println("true");
}

变量、常量、作用域

各种变量的作用域在整个写代码的流程中体现的十分清晰,类变量从属于类,在引用的类中都可用;局部变量从属于某个方法,只在方法中可用等等。

public class Fundamental_3 {
    //main方法

    //方法不仅能定义变量,还能定义属性(可以简单看作变量)

    //实例变量:从属于对象(简单理解为从属于类) 不需要初始化值
    //实例变量如果不初始化值,就会返回默认值 数字值返回0/0.0
    //布尔值默认值为 false
    //除了基本类型,其他类型默认值都是 null
    String name;
    int age;

    //类变量 static 从属于类
    static double salary = 2500; //2500是int类型,自动转换成double类型

    //常量,定义以后不可再改变
    static final double PI = 3.14; //常量名一般使用大写字母
    //修饰符不存在先后顺序,double PI=3.14是固定套路,前面的是static、final修饰符,可以随意排序

    public static void main(String[] args) {
        //局部变量,从属于 main方法
        int a = 1,b = 2, c = 3; 
        //尽量不这么写,该写法降低代码可读性,尽量分行写
        int money = 2500; //局部变量:必须声明和初始化值
        System.out.println(a);

        //变量类型  变量名 = new Fundamenta_3();
        Fundamental_3 fundamental_3 = new Fundamental_3();
        System.out.println(fundamental_3.age);
        System.out.println(fundamental_3.name);

        System.out.println(salary); //类变量可以直接输出

        System.out.println(PI);

    }
    //其他方法
    public void add(){
        // System.out.println(a); 局部变量只从属于方法,在其它方法中无法使用
    }
}

/*
所有的变量、方法、类名遵循一个原则:见名知意
类变量(除了常量):首字母小写、驼峰原则  monthSalary
常量:大写字母和下划线 MAX_VALUE
类名:首字母大写、驼峰原则 GoodMan
方法名:首字母小写、驼峰原则 runRun()
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值