您的位置:首页 > 编程语言 > Java开发

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

2016-03-06 15:27 260 查看
计算机存储数据:寄存器 栈 堆

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(); //这里就是直接在控制台输入

    

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: