JAVA第一部分

基本数据类型

和其他程序语言一样,基本数据类型java中只有8个:
int , long , float , double , char , byte,boolean,short
需要注意的是,在不同的系统和不同位数的机器上,一个基本数据类型所占存储空间可能不同

字节和取值范围的关系

1字节(byte) = 8位(bit)
简单的计算方法:假如n表示字节数,则取值范围的记忆方法为==-2^(8n) 到 2^(8n)-1==
但是实际上,这是计算机使用补码进行储存

整型(int)

类型储存需求取值范围
int4字节-231~231-1
short2字节
long8字节
byte1字节

java中没有任何无符号形式的整型类型
在java中,所有的数值类型所占据的字节数量与平台无关,而c和c++中与平台有关

浮点类型

类型储存需求取值范围
float4字节
double8字节

后缀有F或f的是float类型,其余的都是double类型,一般double类型更为常见。
NaN:不是一个数字

char类型

char类型的字面量值要用单引号括起来,遵循Unicode编码
特殊的转义字符

转义序列名称
\b退格
\t制表
\n换行
\r回车
’\‘"双引号
’\‘’单引号
\‘\’反斜杠

boolean类型

只有2种:true&false
整型值和布尔值不能进行转换

包装类

int对应Integer,double对应Doube等

总而言之:如果我们定义一个int类型的数,只是用来进行一些加减乘除的运算or作为参数进行传递,那么就可以直接声明为int基本数据类型,但如果要像
对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用
的方法。自认为java作为一们面向对象的语言,我们在声明一个变量时最好声明为对象格式,这样更有利于你对面向对象的理解。

关于Integer和int的区别参看这里



变量

变量初始化

声明一个变量之后,必须用赋值语句对变量进行显示初始化

常量

java中,使用final指示常量;c++中,用const指示常量。
java中,通常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量,用static final设置一个类常量


运算符

+,-,*,/,%

注意可以用”/“和”%“来得到数字位数上的各个值
如:352
352%10=2;35%10=5;3%10=3;
352/10=35;35/10=3;3/10=0;
这就实现了数字的分离

数值类型之间的转换

隐式类型转换:准寻一定的法则
显式类型转换(强制类型转换):
如:

double x = 9.997;
int nx = (int) x;

进行四舍五入可以用Math.round方法

自增与自减操作

前自增:先完成+1
后自增:使用变量原来的值

int a = 1;
int b = 1;
a++;
b++
System.out.print("输出结果是:"+a+","+b)

输出结果是2,1

关系和boolean运算符

判 等:==
判不等:!=
逻辑与:&& 逻辑或:|| (按照短路方式)
三元操作符:?:
(如果条件为true,下面的表达式
condition?expression1:expression2
就为第一个表达式的值,否则为第二个)

位运算符

& : “and”
| : “or”
^ : “xor”
~ : “not"这些运算符按位模式处理
位运算符号主要针对2个二进制数的位进行逻辑运算
如果是10进制,则会先转换为二进制
”>>”:将位模式左移
“<<”:将位模式右移
”>>>"用0填充高位

优先级

枚举类型

情景:变量的取值只在一个有限的集合内如:

enum Size { SMALL,MEDIUM,LARGE,EXTRA_LARGE };
Size s = Size.MEDIUM;

默认从第一个元素到依次往后赋值为:0,1,2.。。。。
如果其中一个被赋值,后面的被赋值为依次+1

枚举其实可以实现类,在面向对象过程中使用广泛
java枚举的常用方法

字符串(String)

java允许用“+”来进行2个字符串的拼接,而且当一个字符串与一个非字符串进行拼接的时候,后者会被转换成字符串。
如:

System.out.print("1+1="+1+1);

1+1=11

这里我们得到的并不是我们想要的2,而是得到11,就是因为是一个字符串和非字符串的拼接。

我们如果要进行截取一个字符串可以用String类中的substring方法
如:

String greeting = "Hello";
String s = greeting.substring(0,3);
System.out.print("结果是:"+s);

结果是:Hel

还有一点十分重要的是:String声明的字符串是不可修改的,String类并没有提供修改字符串的方法。但是这却有一个优点:编译器可以让字符串共享 但是只有字符串常量是共享的,而+或substring等操作产生的结果并不共享
而且字符串的声明不会产生内存遗漏,因为java自带有垃圾回收机制,如果一块内存不再使用了,系统会自动将其回收

但是如果要字符串能够修改,可以调用StringBuffer类,最好不要用StringBuilder类,原因可以Google

检验字符串是否相等

使用equals方法:s.equals(t)
正确就返回true,错误就返回false
注意!字符串之间的比较千万不能用= =来判断
因为= = 只是检测两个字符串是否放在同一位置。

空串与Null串

空串“”是长度为0的字符串
Null串是一种值,将String变量存放null值,表示目前没有任何对象与该变量关联
如果要检查一个字符串既不是null也不是空串,需要用到:

if( str != null && str.length() !=0 )

这里必须要先检查str不为null

String API

常用的api参看这里String Api

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值