Java 自己补充知识(2)变量 数据类型



计算机存储数据:寄存器 栈 堆
java只能控制:栈 堆

1.栈:
栈空间存取数据效率高
数据先进后出
存储空间小
JVM将基本类型的数据放在栈空间

2堆:
1.存取数据低
2.数据存放随机分配
3 堆的存储空间大


计算机高级语言普遍使用变量来管理内存中的存储数据



变量管理 基本类型存在栈中

变量管理引用类型
1.在栈中定义一个变量  变量存放数据为堆中地址
在堆中存储数据

离开作用域 jvm就回收变量

包装类
Byte Integer Long Double Float都有最大常量和最小常量 .MIN_VALUE .MAX_VALUE
Integer 还能转化二进制和十六进制
String Integer.toBinaryString(int value)
String Integer.toHexString(int value)


long float 赋值后面都要l(f)
整型比浮点型精度高 运算
float 32位1个符号位 指数8位 尾数23位          int   32    符号位1  尾数 31
double 64 1             11      52            long   64    1   63




char :java底层都是Unicode 实现 16位    


转移字符:'\n' :回车  '\t' 制表符表示向右跳8-10个字符
            '\u4e26':表示Unicode 码对应的字符 Unicode码一定要十六进制
            
小类转大类:            
1小类转大类 jvm自行转换   不许额外代码
2.自动类型转换也叫“隐式类型转换” 规则:符号位自动扩展 负数补1,正数补0

3.转换情况:
(1).byte->short->int->long->float->double
(2)int和char类型的数据在某些情况下可以自动相互转换
int i = 'B';
4精度丢失:正数到浮点数 转换会损失精确度

 大类转小类
 强制类型转换  小心精度丢失 丢最高位
 
 
 args
 通过main方法的args数组可以从控制台获取一组字符串数据
 
 
 Scanner:用于扫描从控制台输入的数据可以接受字符串和基本数据类型数据
 通过Scanner从控制台获取数据
 常用方法
 1 String next()  next以空格或回车做一次输入的结束所以不能接受空格
 2 String nextLine() 可接受空格
 3 int nextInt()     接受控制台输入的一个int类型
 4 double nextDouble 。。。
 5  boolean nextBoolean() 。。。  以上5条 可以控制台直接输入
 6输入char类型的数据
  Scanner类没有提供直接输入char类型的方法 可用charAt()从next()或nextLine()获取输入字符
  eg:Scanner sc = new Scanner(System.in)
      System.out.println(姓名:)
     String name = sc.next(); //这里就是直接在控制台输入
    

 
 
 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值