2.Java基础

1.数据类型

在 Java 中, 所有的数值类型所占据的字节数量与平台无关;且没有任何无符号(unsigned) 形式的 int、 long、 short 或 byte 类型
4种整型:

类型长度取值范围包装类
int4字节(32位)-2的31次方~~2的31次方-1java.lang.Integer
short2字节(16位)-2的15次方~~2的15次方-1java.lang.Short
long8字节(64位)-2的63次方~~2的63次方-1java.lang.Long
byte1字节(8位)-2的7次方~~2的7次方-1java.lang.byte

2种浮点类型:

类型长度取值范围
double8字节(64位)-2的63次方~~2的63次方-1
float4字节(32位)-2的31次方~~2的31次方-1

常量 Double_POSITIVE_INFINITY、Double.NEGATIVEJNFINITY 和 Double.NaN( 以及相应的 Float 类型的常量)分别表示正无穷大、负无穷大、NaN (不是一个数字)
1种字符类型:char
1种真值类型:boolean

2.变量

int i,j; //可以这样使用
声明一个变量之后,必须用赋值语句对变量进行显式初始化,初始化方式如下:
int i = 0;
int i ; i = 0;

3.常量

final表示这个变量只能被赋值一次,之后不可再被修改,属于常量
final double CM=10;
类常量static final定义在main方法的外部,同类的其他方法可以使用该常量
如果同时被public修饰,那么其他类的方法也可以使用该常量

4.运算符

4.1数值类型之间的转换

在这里插入图片描述
实心箭头表示无信息丢失的转换;虚箭头表示可能存在精度丢失
如果两个操作数中有一个是 double类型,另一个操作数就会转换为double类型。
否则,如果其中一个操作数是float类型,另一个操作数将会转换为float类型。
否则,如果其中一个操作数是 long类型,另一个操作数将会转换为 long类型。
否则,两个操作数都将被转换为int类型。

强制类型转换:
double a = 10.1;     
int x = (int)a;
自增自减运算:
int a = 2 *++m;// now a is 16,m is 8
int b = 2 *n++;// now b is 14,n is 8
位运算符:
& ("and") | ("or") ^ ("xor") ~ ("not")
<<:左移运算符,num << 1,相当于num乘以2
>>:右移运算符,num >> 1,相当于num除以2
>>>:无符号右移,忽略符号位,空位都以0补齐
运算符结合性
[ ].( )(方法调用)从左向右
!~ +±-+(一元运算)-(一元运算)()(强制类型转换) new从右向左
*/%从左向右
+ -从左向右
<< >> >>>从左向右
< <= > >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
从左向右
&&从左向右
或或从左向右
?:从左向右
= += -= *= /= %= &= ^= <<= >>= >>>=从右向左

4.2枚举类型

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

Size类型的变量只能存储这个类型声明中给定的某个枚举值,或者null值,null表示这个变量没有设置任何值。

4.3字符串

子串:
String greeting = "He11o";
String s = greeting.substring(03);

拼接:
String expletive = "Expletive";
String PG13 = "deleted";
String message = expletive + PG13;

任何一个Java对象都可以转化成字符串:
int age = 13;
String rating = "PG" + age;//PG13

如果需要把多个字符串放在一起用一个定界符分隔,可以使用静态join方法:
String al1 = String.join(" / ""S""M""L""XL");
//all is the string "S /M/L/ XL"

检测字符串是否相等:
s.equals(t);  s和t可以是变量也可以是字符串常量
"He11o".equals(greeting)
要想检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法
"He11o".equalsIgnoreCase("hello")

空串和NUll串:
空串""是长度为0的字符串,是一个对象,有自己的长度和内容
调用以下代码检查一个字符串是否为空:
if(str.length() == 0)if (str.equa1s(""))
判断是否是nullif(str == null)
同时判断两种情况,必须先判断nullif(str != null && str.length() == 0)

所有的字符串都属于接口CharSequenceCharSequence形参可以传入String类型的实参

构建字符串:
StringBuilder builder = new StringBuilder();
builder.append(ch);
String str = builder.toString();

5.输入输出

5.1读取输入

构建Scanner与“标准输入流”System.in关联:
Scanner in = new Scanner(System.in);
String name = in.nextLine();
想读取单词,以空白符为分隔符:
String name = in,next();

5.2格式化输出

在这里插入图片描述

8个字符的宽度和小数点后两个字符的精度打印x
System.out.printf("%8.2f",x)

在这里插入图片描述

5.3文件输入与输出

要想对文件进行读取,就需要一个用File对象构造一个Scanner对象:
Scanner in = new Scanner(Paths.get("myfi1e.txt")"UTF-8");
如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠:
“c:\\mydirectory\\myfile.txt”

6.大数值

BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
使用静态的valueOf方法可以将普通的数值转换为大数值:
BigInteger a = BigInteger.valueOf(100);
需要使用大数值类中的add和 multiply等方法处理大数值
BigInteger c = a.add(b);// c = a + b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));//d = c * (b + 2)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值