随笔day05

java数据类型

基本类型

整数拓展:

进制:二进制(0b)、十进制、八进制(0)、十六进制(0x)

例如:

int i=10; //十进制  10
int i1=010; // 八进制   8
int i2=0x10; // 十六进制 16
int i3=0b10; //二进制 2

浮点数拓展:

float、double

//银行业务怎么表示?
//float 它是离散的,有舍入误差,接近但不等于,在实际运用在很少使用浮点数来进行银行业务的处理,而是使用BigDecimal这个数学工具
float f=0.1f; // 0.1
double f1=1/10;// 0.1
System.out.println(f==f1);// 输出结果为false
System.out.println(f);// 输出结果为0.1
System.out.println(f1); // 输出结果为0.1
float d=1211231f;
float d1=d+1;
System.out.println(d==d1);// 输出结果为true
System.out.println(d);
System.out.println(d1);

字符型拓展:

char

char c1='a';
char c2='中';
System.out.println(c1);// 输出结果为 a
System.out.println((int)c1);//强制转换 输出结果为97
System.out.println(c2); // 输出结果为 中
System.out.println((int)c2);//强制转换 输出结果为20013
//所有的字符其本质还是数字!!!
//所有的字符其本质还是数字!!!
//所有的字符其本质还是数字!!!
//采用的Unicode编码表(a=97,A=65)占两个字节 2^16=65536
//unicode编码范围为 u0000~uffff;
char c3='\u0061';
System.out.println(c3);// 输出结果为a

转义字符

\t, 制表符,类似于按下tab键

\n, 换行符,类似于按下enter键

System.out.println("Hello\tWorld");//输出结果为Hello World
System.out.println("Hello\nWorld");/*输出结果为Hello
World*/

布尔值拓展:

boolean flag=true;
if(flag){} //默认为true;等价于if (flag==true){}
System.out.println("Hello,World");

 

类型转换

  1. 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    低------------------------------->高

    byte,short,char,int,long,float,double(小数的优先级要大于整数)

  2. 运算中,不同类型的数据要先转换成同一类型,在进行运算

  3. 强制类型转换(由高到低)(类型)变量名

  4. 自动类型转换(由低到高)

例:

int i=128;
byte b=(byte)i;//byte范围为-128~127   内存溢出
System.out.println(i);//输出结果为128
System.out.println(b);//输出结果为-128
int i1=128;
double b1=i;
System.out.println(i1);//输出结果为128
System.out.println(b1);//输出结果为128.0
     

注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换为低容量的时候,需要强制转换 4.转换的时候可能存在内存溢出,或者进度问题!

例:

System.out.println((int)23.7);//输出结果为23  存在精度丢失
System.out.println((int)-45.89f);//输出结果为-45 存在精度丢失
char d='a';
int f=d+1;
System.out.println(d);//输出结果为为a
System.out.println(f);//输出结果为98
char e='a';
int g=e+1;
System.out.println(e);//输出结果为a
System.out.println((char)g);//输出结果为b

 

注意点:

1.操作比较大的数的时候,注意溢出问题 2.JDK7 新特性,数字之间可以用下划线分割

int money=10_0000_0000; System.out.println(money);
int year=20;
int total=year*money;
      System.out.println(total);//-1474836480 计算时溢出
long total1=year*money;
System.out.println(total1);//-1474836480 默认是int,转换之前就出了问题
long total2=(long)year*money; System.out.println(total2);//20000000000

 

变量

  1. 变量是什么?就是可以变化的量!

  2. java是一种强类型语言,每个变量都必须声明其类型

  3. java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

例:

type name=12;
//数据类型 变量名=值;可以用逗号隔开来声明多个同类型的变量

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型

  • 变量名必须是合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须要以分号结束

变量作用域:

  • 类变量

  • 实例变量

  • 局部变量

public calss Variable{
static int allClicks=0; //类变量
String str="Hello,World";//实例变量
public void method(){
int i=0; //局部变量
}
}
 
例:
 //类变量 static
    static  double salary=2500;
    //属性:变量
    //实例变量: 从属与对象;如果不进行初始化,这个类型默认值;整数类和浮点类默认为0、0.0
    //布尔值的默认值为false
    //除了基本类型,其他的默认值都是null;
  static  String name; 
   static int age;
    //main方法
    public static void main(String[] args) {
//局部变量;必须声明和初始化值
        int i=10;
        System.out.println(i);
        Demo07 demo07=new Demo07();
        //变量类型 变量名=new base.Demo07();
        System.out.println(Demo07.age);
        System.out.println(Demo07.name);
        System.out.println(salary);
posted @   Rookie小白韩  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示