java数据类型分为 原生数据类型 和 引用数据类型
a.引用数据类型(对象类型):String字符串(放任意字符,并且需要用 双引号引起来) ,其他对象类型
b.原生数据类型(基本数据类型):共有以下8种,
数字:
整数:byte<short<int<long (默认int)
小数:float<double (默认double)
一般性原则:尽量使用 最小范围,例如 能用int的时候,就不用用long
非数字:
字符char :只能放一个 字符。并且需要用 单引号引起来
布尔boolean :只有true/false
8种原生类型的范围如下表所示。
| 基本类型 | 字节数 | 位数 | 最大值 | 最小值 |
|---|---|---|---|---|
| byte | 1byte | 8bit | 2^7-1 | -2^7 |
| short | 2byte | 16bit | 2^15-1 | -2^15 |
| int | 4byte | 32bit | 2^31-1 | -2^31 |
| long | 8byte | 64bit | 2^63-1 | -2^63 |
| float | 4byte | 32bit | 3.4028235E38 | 1.4E - 45 |
| double | 8byte | 64bit | 1.7976931348623157E308 | 4.9E - 324 |
| char | 2byte | 16bit | 2^16 - 1 | 0 |
注:Java官方并没有给出boolean类型的字节数,详情可戳右侧文章:《boolean类型占几个字节?》
计算机是二进制,只有0、1的是bit类型,并且从上表可知:
字节byte=由8个bit组成(范围是 -128 -- 127)
短整数short=2byte (16bit)
整数int=4byte (32bit)
长整数long=8byte(64bit)
整数范围<小数范围
float = 4byte(32bit)
double = 8byte(64bit)
示例
/** Created by 颜群*/public class VariableDemo {public static void main(String[] args) {/* 变量使用三大步:1.声明数据类型(整数、小数、字符串、....)2.赋值(赋值符号=,将=右侧 赋给左侧)3.使用*/int myNum = 10;//int myNum = 10 ;错,变量名不能重复myNum = myNum + 1;System.out.println(myNum);byte b = 127;System.out.println(b);// short = int (整数默认是int,但是=对于整数内置了整数类型(byte short int long)之间的 转换器)short s = 1000;System.out.println(s);long lon = 2000000;System.out.println(lon);float f = (float) 123.4; //小数默认是double. float = doublefloat f2 = 123.4f; //小数默认是double. float = doubleSystem.out.println(f);double d = 123.4;System.out.println(d);char c = 'x';System.out.println(c);String str = "a";String str2 = "aaaa";String str3 = "";System.out.println(str);System.out.println(str2);System.out.println(str3);int x1 = 1;int X1 = 1;int y = 222;System.out.println(y);//8*1 + 9*10 =98int num = 98;System.out.println(num);//0b开头的表示二进制数字:0*1 + 1*2int num1 = 0b010;System.out.println(num1);//0开头的表示八进制数字:2*1 + 7*8= 58int num2 = 072;System.out.println(num2);//0x开头的表示十六进制数字,范围是0-9 和 A-F//2*1 + 10*16int num3 = 0xA2;System.out.println(num3);//变量命名建议采用托罗峰命名法,如myFirstNum,以下是不建议的方式int myfirstnum = 10;System.out.println(myfirstnum);//合法的变量命名int ¥$_我my2FirstNum = 4;System.out.println(¥$_我my2FirstNum);}}
运行结果如下:
1112710002000000123.4123.4xaaaaa22298258162104
对于“”="转换器问题:
小数类型 不带转换器:例如float x = 123.4 ;是错的。
解决方法:强制类型转换,如float xx = 123.4f ; float xxaa = (float)123.4 ;
整数类型 自带转换器:如 byte b = 123 ;是正确的
java可以直接表示的进制:
二进制 :0b数字
如0b011表示3
十进制(默认)
八进制:0数字
如011 表示9
十六进制:0x
变量的语法规范:
变量可以理解为“首字母 + 其他”,如 myFirstNum = m + yFirstNum
a.对首字母的语法要求: 可以是 各国语言(如中文、英文),下划线,钱($、¥)
b.其他:可以是“首字母”允许的符号 ,并且还可以是数字
c.变量不能是关键字 (idea中蓝色字体 都是关键字 )
d.符号只能是下划线、钱,不能是+ 、- 等其他符号
以上,也可以观看对应的视频教程,戳右侧标题进入:《Java基础视频教程》
本文分享自微信公众号 - 大数据和人工智能技术(Big_Data-AI)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4492412/blog/4645732