数据类型、变量、运算符、字符串、输入与输出

8大数据类型

整型

byte  1字节    byte 和 short 类型主要用于特定的应用场合,例如,底层的文件处理或者需要控制占用存储空间量的大数组,存储范围-128~127

short  2字节          存储范围-32768~32767

int  4字节             存储范围-2147483648~2147483647

long  8字节    长整型数值有一个后缀 L 或 1 ( 如 4000000000L。) 十六进制数值有一个前缀 Ox 或 0X (如OxCAFEL 八进制有一个前缀 0 , 例如, 010 对应八进制中的 8。 很显然, 八进制表示法比较容易混淆, 所以建议最好不要使用八进制常数。

 

浮点型

float  4字节

double  8字节

double 表示这种类型的数值精度是 float 类型的两倍。
 
float 类型的数值有一个后缀 F 或 f (例如,3.14F。) 没有后缀 F 的浮点数值(如 3.14 ) 默认为 double 类型。当然,也可以在浮点数值后面添加后缀 D 或 d (例如,3.14D) 。

3个特殊的浮点数值

正无穷大  负无穷大  NaN(不是一个数字)

一个正整数除以 0 的结果为正无穷大。计算 0/0 或者负数的平方根结果为 NaN。

整数被 0 除将会产生一个异常, 而浮点数被 0 除将会得到无穷大或 NaN 结果。

char类型

char 类型原本用于表示单个字符。不过,现在情况已经有所变化。 如今,有些 Unicode字符可以用一个 char值描述,另外一些 Unicode 字符则需要两个 char 值。
char 类型的字面量值要用单引号括起来。
码点( code point) 是指与一个编码表中的某个字符对应的代码值。

boolean 类型

boolean (布尔)类型有两个值:false 和 true, 用来判定逻辑条件 整型值和布尔值之间不能进行相互转换。
 
 

基本数据类型:整数,浮点数,布尔型,字符型

非基本数据类型:由基本类型组合的新类型,字符串,数组,类,接口

 

变量

在声明变量时,变量的类型位于变量名之前。
但 +和 '©’ 这样的符号不能出现在变量名中,空格也不行。变量名中所有的字符都是有意义的,并且大小写敏感。变M名的长度基本上没有限制。

常量

利用关键字 final 指示常量,关键字 final 表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再更改了。习惯上,常量名使用全大写。
经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final设置一个类常量。
类常量的定义位于 maiii 方法的外部,在同一个类的其他方法中也可以使用这个常量。而且,如果一个常量被声明为 public,那么其他类的方法也可以使用这个常量。
 

运算符

使用 strictfp 关键字标记的方法必须使用严格的浮点计算来生成可再生的结果
public static strictfp void main(String[] args)
在 main 方法中的所有指令都将使用严格的浮点计算。如果将一个类标记为strictfp, 这个类中的所有方法都要使用严格的浮点计算。
 

字符串

String 类的 substring 方法可以从一个较大的字符串提取出一个子串

String greeting = "Hello";

String s = greeting.substring(0, 3);

如果需要把多个字符串放在一起, 用一个定界符分隔,可以使用静态 join 方法

String all = String.join( " / ", "S", "M", "L", "XL" );

可以使用 equals 方法检测两个字符串是否相等。

s.equals(t)

一定不要使用=运算符检测两个字符串是否相等! 这个运算符只能够确定两个字串是否放置在同一个位置上。当然, 如果字符串放置在同一个位置上, 它们必然相等。但是,完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上。
如果虚拟机始终将相同的字符串共享, 就可以使用=运算符检测是否相等。但实际上只有字符串常量是共享的,而 + 或 substring 等操作产生的结果并不是共享的。
空串是一个 Java 对象, 有自己的串长度( 0 ) 和内容(空)。不过, String 变量还可以存放一个特殊的值, 名为 null, 这表示目前没有任何对象与该变量关联
char 数据类型是一个采用 UTF-16 编码表示 Unicode 码点的代码单元。大多数的常用 Unicode 字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示。
 
StringBuilder类,每次需要添加一部分内容时, 就调用 append 方法。
 

大数值

java.math的BigInteger和BigDecimal类,满足任意长度的整数和浮点数任意精度的运算。使用.valueof()转换为大数值

BigIntger a = BigIntger.valueof(100);

大数值进行运算时,需使用类方法add和multiply等方法

 
 
 

输入与输出

引入了 Console 类实现这个目的。要想读取一个密码, 可以采用下列代码:

Console cons = System.console();

String username = cons.readLine("User name: ");

cha「[] passwd = cons.readPassword("Password:");

文件上输入与输出
要想对文件进行读取,就需要一个用 File 对象构造一个 Scanner 对象,如下所示:

Scanner in = new Scanner(Paths.get("niyflle.txt"), "UTF-8");

要想写入文件, 就需要构造一个 PrintWriter 对象。在构造器中,只需要提供文件名:

PrintWriter out = new Printlulriter('myfile.txt", "UTF-8");

 

 

posted @ 2019-07-24 21:31  hjj123  阅读(108)  评论(0)    收藏  举报