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 = double
float f2 = 123.4f; //小数默认是double. float = double
System.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 =98
int num = 98;
System.out.println(num);
//0b开头的表示二进制数字:0*1 + 1*2
int num1 = 0b010;
System.out.println(num1);
//0开头的表示八进制数字:2*1 + 7*8= 58
int num2 = 072;
System.out.println(num2);
//0x开头的表示十六进制数字,范围是0-9 和 A-F
//2*1 + 10*16
int num3 = 0xA2;
System.out.println(num3);
//变量命名建议采用托罗峰命名法,如myFirstNum,以下是不建议的方式
int myfirstnum = 10;
System.out.println(myfirstnum);
//合法的变量命名
int ¥$_我my2FirstNum = 4;
System.out.println(¥$_我my2FirstNum);
}
}
运行结果如下:
11
127
1000
2000000
123.4
123.4
x
a
aaaa
222
98
2
58
162
10
4
对于“”="转换器问题:
小数类型 不带转换器:例如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