基础复习
来源:互联网 发布:免费下载源码的网站 编辑:程序博客网 时间:2024/05/19 02:23
常量
常量就是不可改变的数值
大概分为以下六种:
1.整数常量。包括所有整数
对于整数有四种表现形式:
二进制,0、1,满2进1
八进制,0-7,满8进1,从0开头表示
十进制,0-9,满10进1
十六进制,0-9,A-F,满16进1,用0x开头表示。
2.小数常量。包括所有小数
3.布尔常量。较为特有,只有两个数值,true false, true false同时是关键字
4.字符常量。将一个数字字母或符号用单引号(‘’)标识,“单引号里只能放单个数字,字母,符号,一个也没 有不可以”
5.字符串常量。将一个或多个字符用双引号("")标识
6.null常量。只有一个数值就是null
不同进制的表现形式
二进制的数据表现形式:二进制加0b
八进制的数据表现形式:八进制加0
十进制的数据表现形式:十进制无标示
十六进制的数据表现形式:十六进制加0x,x不分大小写。10到15分别用a到f表示,不分大小写
任意进制到十进制的转换
“系数*基数^权次幂”
十进制 10
二进制 2
八进制 8
十六进制 16
例:十进制转十进制:
12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
=10000+2000+300+40+5
=12345
十进制到任意进制的转换
“除积到取余”
十进制 10
二进制 2
八进制 8
十六进制 16
例: 37 除10=3余7
3再除10=0余3
所以为37
37 除2=18余1
18再除2=9余0
9再除2=4余1
4再除2=2余0
2再除2=1余0
1再除2=0余1
所以为100101
8421码
1 1 1 1 1 1 1 1
1*2^7 1*2^6 1*2^5 1*2^4 1*2^3 1*2^2 1*2^1 1*2^0
128 64 32 16 8 4 2 1
变量
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
用来不断存放同一类型的常量,并可以重复使用
数据类型 变量名=初始化值
变量的作用范围(一对{}之间有效)
数据类型
分为基本数据类型和引用数据类型
基本数据类型:分为四类八种
byte 占1个字节,取值范围是—128到+127
short 占2个字节,取值范围是—2^15到+2^15+1
int 占4个字节,取值范围是—2^31到+2^31+1,整数默认数据类型
long 占8个字节,取值范围是—2^63到+2^63+1
float 占4个字节,单精度,没有指定大小
double占8个字节,双精度,浮点型默认数据类型
char 占2个字节,取值范围是0到65535
boolean占八分之一个字节只有true和false
引用数据类型:
接口和数组
练习
class Demo1 { public static void main(String[] args) {byte b=100;short s=1000;int i=10000;long l=1234567890000L;//如果long的值大于int范围必须在数值结尾加L,注意尽量大写,否则容易看成数字1//浮点类型float f=11.2f;//此处数值后如不加f(不分大小写),会报错,因为小数数据类型默认为double,所以会损失精度double d=11.2;//字符类型char c1='a';char c2='0';char c3='中';//字符中可以储存有汉字,因为Java是unicode编码,char占用两个字节,而汉字也是两个字节//布尔类型boolean b1=true;boolean b2=false;//System.out.println(l);}}使用变量注意事项
class Demo2 {public static void main(String[] args) {int i=10;i=20; //这是一个赋值动作,可以把初始化值覆盖掉System.out.println(i);int x; //变量使用前必须赋值,System.out.println(x);int a,b,c; //一条语句可以声明多个变量a=10;b=20;c=30;System.out.println(a);System.out.println(b);System.out.println(c);}}
自动类型提升与强制类型转换
class Demo3 {public static void main(String[] args) {/*int i=100;byte b=30; //自动类型提升(隐式转换)i=i+b;System.out.println(i);*/int i=100;byte b=50;b=(byte)(i+b); //强制类型转换System.out.println(b);}}变量相加与常量相加的区别
class Demo4 {public static void main(String[] args) {byte b,b1,b2;b1=3;b2=4;b=b1+b2; //此处报错,原因是b1,b2 是byte类型变量,在运算中自动提升为int类型, //因为b1,b2变量原因,Java无法获取其具体值1b=3+4; //3,4是两个常数,Java有一个常数优化机制,在编译时直接将常数相加结果算出并赋值//问这两种编译哪种会报错?System.out.println(b);}}
数据类型转换之默认转换
byte,short,char -- int -- long -- float -- double
float和long它们底层的存储结构不同。
float表示的数据范围比long的范围要大
long:2^63-1
float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
所以,Java中的字符可以存储一个中文汉字
字符和字符串参与运算
'0'--------48
'a'--------97
'A'--------65
class Demo5 {public static void main(String[] args) {System.out.println("Hello World!"+'a'+1);//任何数据用+和字符串相连接,会产生新的字符串
}}
- 基础复习
- 基础复习
- 基础复习
- 基础复习
- 复习MySQL(基础复习)
- 基础java复习
- C基础的复习
- Java 基础复习 01
- 基础复习笔记--数据类型
- 密码学基础复习要点
- J2SE基础复习提纲
- C#基础复习 三
- CS基础复习
- 基础复习笔记
- C语言基础复习
- oracle基础复习
- java 基础复习
- 复习web基础
- UIKeyCommand自定义键盘
- 网站优化相关理论概述
- IOS合并lib(.a)库的终极可用方法(可用于解决duplicate symbol静态库冲突)
- UCOS + LWIP + USB WIFI(rtl8188eu) <三>
- Sicily 1511. Conversions
- 基础复习
- Activity之间互传基本数据类型
- 先学习搭建个架子:Eclipse java EE版 + S2SH + Oracle11g + Plsql.(1)
- Spring对Hibernate事务管理
- 具有“高薪缘”的行业和职位发布
- Cocoapods使用
- 数值计算
- 配置Apache
- 不使用中间变量交换变量a、b变量