Java语言基础
Posted wood-life
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言基础相关的知识,希望对你有一定的参考价值。
1 Java的数据类型
两类数据类型:
l 基本类型(8种)
l 引用类型
2 八种基本类型
byte |
1 |
-128到127,-27到27-1 |
|
short |
2 |
-215到215-1 |
|
int |
4 |
-231到231-1 |
|
long |
8 |
-263到263-1 |
|
float |
4 |
单精度 |
IEEE 754规范 美国电子电气工程师协会浮点数表示规范 |
double |
8 |
双精度 |
|
char |
2 |
字符,或字符的整数编码 0到65535 0到216-1 |
|
boolean |
1 |
真 true 00000001 假 flase 00000000 |
2.1 计算机中的存储单位
bit - 电位
byte - 8 bit
Kb - 1024 byte
Mb - 1024 Kb
Gb - 1024 Mb
Tb - 1024 Gb
Pb - 1024 Tb
...
2.2 byte类型如何表示整数
10000000 -128
...
11111011 -5
11111100 -4
11111101 -3
11111110 -2
11111111 -1
00000000 0
00000001 1
00000010 2
00000011 3
00000100 4
00000101 5
00000110 6
00000111 7
00001000 8
...
01111111 127
2.3 二进制
83709 8*104 3*103 7*102 9*100 |
101101 25 23 22 20 |
49 490 4900 49000
|
101 5 1010 10 10100 20 101000 40
|
|
384
除2取余 375/2 187 余 1 187/2 93 余 1 93/2 46 余 1 46/2 23 余 0 23/2 11 余 1 11/2 5 余 1 5/2 2 余 1 2/2 1 余 0 1/2 0余1
|
|
1 1 10 2 100 4 1000 8 10000 16 100000 32 1000000 64 10000000 128 100000000 256 1000000000 512 10000000000 1024 |
|
1000个苹果,分装几箱,不管客户要多少苹果,都整箱交付
|
2.4 char
Unicode编码表
0 |
? |
1 |
? |
3 |
? |
4 |
? |
... |
|
65 |
A |
66 |
B |
... |
|
97 |
a |
98 |
b |
... |
|
20013 |
中 |
|
|
65535 |
|
char c1 = ‘a‘;
char c2 = 97;
char c3 = ‘中‘;
char c4 = 20013;
2.5 基本类型的字面值规则(5条)
- 整数字面值,是int类型
int a = 6535;
//右侧字面值是int,但超出int范围
long a = 9999999999;
- byte,short,char比int小的整数,可以用范围内的值,直接赋值
byte a = 127;//byte类型
byte a = 128;//int类型
- 浮点数字面值是double类型
double a = 3.14;
//错,右侧是 double
float a = 3.14;
- 字面值后缀
L - long
long a = 9999999999L;
F - float
float a = 3.14f;
D - double
double a = 3.0;
double a = 3d;
- 进制前缀
0x - 16进制
0xff 255
0 - 8进制
01234567
0377 255
u - char类型16进制
必须完整表示char类型的两个字节值
‘a‘ 97 ‘u0061‘
‘中‘ 20013 ‘u4e2d‘
2.6 16进制
0123456789abcdef
c8af
12*163
8*162
10*161
15*160
f - 1111
ff - 11111111
l 二进制4位,可以足够表示所有16进制数字字符
l 一个16进制字符,可以二进制的4位
l 两个16进制字符,可以表示8位,即一个字节值
10111010 01101011 00001110 11110110
ba 6b 0e f6
2.7 基本类型的运算规则(5条)
- 计算结果的数据类型,与最大的类型一致
3/2 得 1
3d/2 得 1.5
- byte,short,char三种比int小的整数,运算时,会先变成int
byte a = 3;
byte b = 4;
//错,右侧是int+int,结果是int
byte c = a + b;
- 整数运算溢出
Integer.MAX_VALUE+1
得负数最小值
2.8 基本类型的类型转换
2.8.1 小的类型转大的类型
l 自动转换,不需要写转型运算
l 转成浮点数,可能会不精确
byte a = 127;
int b = a;
01111111
00000000 00000000 00000000 01111111
byte a = -1;
int b = a;
11111111
11111111 11111111 11111111 11111111
2.8.2 大的类型转小的类型
int a = 356;
byte b = (byte) a; //强制转型运算
00000000 00000000 00000001 01100100
01100100
l 可能引起数据损失
l 必须手动转型、强制转型
l 浮点数转成整数,小数直接舍弃
3 运算符
+-*/ |
|
+ |
数学运算 字符串连接 |
% |
取余、求模 判断a能否被4整除 a%4取余,余数是0能整出,不是0不能整除 |
== |
是否相等 |
!= |
是否不相等 |
> >= < <= |
比较大小 |
|
|
|
|
代码
package day0101; public class Test1 { public static void main(String[] args) { /* 八个变量 abcdefgh, * 保存四种整数的最小值和最大值 */ byte a = -128; byte b = 127; /* jdk类库中的 Short 类 * 中的常量 MIN_VALUE */ short c = Short.MIN_VALUE; short d = Short.MAX_VALUE; int e = Integer.MIN_VALUE; int f = Integer.MAX_VALUE; long g = Long.MIN_VALUE; long h = Long.MAX_VALUE; System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); System.out.println(g); System.out.println(h); } }
以上是关于Java语言基础的主要内容,如果未能解决你的问题,请参考以下文章