您的位置:首页 > 编程语言 > Java开发

Java基础整理(1)

2016-06-30 21:57 351 查看
1、源代码的文件名必须与公共类(public)的类名一致,而且一个源代码文件中最多只能有一个公共类(public)

2、注释: 3种

行注释 以双斜线 // 开始

段落注释 /* 注释内容 */

文档注释 /** 注释内容 */

3、数据类型 8种基本类型

整型 4 种 : byte(1byte)、 short(2 bytes)、 int (4 bytes)、 long(8 bytes) 均为signed(有符号型)

浮点型 2 种:float(4 bytes)、double(8 bytes) 前者有效位6~7位,后者15位

char类型 : char(2 bytes)

boolean(1 byte) 只有true和false两种取值,且不能与整型进行转换

**在java编译器中default的整型数据为int类型,所以在给byte、short类型数据赋值时需要进行强制类型转换
**long(长整型)数值有一个后缀L,十六进制前缀0x,八进制前缀0,二进制前缀0b
**float后缀F,double后缀D(F、D大小写均可)
**POSITIVE_INFINITY、NEGTIVE_INFINITY、NAN分别表示正无穷、负无穷和不是一个数字

4、逻辑运算符

&& 按照"短路"方式求值 , eg : expression1 && expression2 , 若expression1为false,则不用计算expression2

|| 按照"短路"方式求值 , eg : expression1 || expression2 , 若expression1为true,则不用计算expression2

! 表示逻辑“非”

位运算符

& | ^ ~ 与、或、异或、非 **& | 不按短路方式计算

>> << 右移 左移

>>> 也是右移的意思,与>>的区别在于>>是用符号位填充高位,而>>>是用0填充高位

***无<<<运算符

5、枚举类型
用 enum 自定义枚举类型 eg: enum Size { SMALL , MEDIUM , LARGE , EXTRA_LARGE} ;
Size size = Size.SMALL ; 表示size只能是上述4种尺码中的一种

6、String
java没有内置的字符串类型,而是在标准的类库中提供了一个预定义类,String类为不可变字符串

空串与null串的区别

空串“”是长度为0的字符串,是一个java对象,有自己的长度(0)和内容(空)
null串:表示目前没有任何对象与该变量关联

JDK5.0引入了StringBuilder类,其前身是StringBuffer,其效率稍有些低,但允许采用多线程的方式添加和删除字符操作。

7、从控制台读取数据

Scanner类 Scanner sc = new Scanner(System.in) ;

String s1 = sc.nextLine() ; //读入一行
String s2 = sc.next() ; //读入一个单词,以空格区分
int i = sc.nextInt() ; //读入一个int类型整数

Console类 用于读取密码,因为Scanner不适合读取密码,所以专门采用Console类

Console c = new Console(System.in) ;
String ss = c.readLine() ; //读入一行
char[] passwd = c.readPassword() ; //读入密码
从控制台输出( 3种格式 )

System.out.print("") ;

System.out.println("") ;

System.out.printf("%d,%s", age,name) ;

8、控制流程

不能在嵌套的两个语句块中申明同名的变量,但是可以在两个并行(平等)的语句块中申明同名的变量

选择语句 switch…case、if…else

循环语句 while 、 do…while 、 for

中断控制流程语句 : 加标签label ,然后 break label ;可以跳出循环到 label 标示的位置

9、大数值:如果基本的整数和浮点数的精度都无法满足要求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
**遗憾的是不能使用我们熟悉的算术运算符(+、-、/、*、%等),而是需要用到BigInteger、BigDecimal 的add、multiply、subtract、divide、mod (BigDecimal 无此方法)运算。
eg:BigInteger a = BigInteger.valueOf(1000) ;
BigInteger b = BigInteger.valueOf(34567) ;
BigInteger c = a.add(b) ;
BigInteger d = a.multiply(c) ;

10、数组 **数组长度为0 和为null不同

申明方法 2种 int[] a ; int a[] ;

String[] s = new String[10] ; 会创建一个包含10个字符串的数组,所有字符串都为null 。 **一旦创建了数组,就不能再改变其大小,但是可以改变各个元素的内容。

匿名数组 new int[] {2,14,35,47,57} ;

可以用Arrays的静态方法sort()对数值型数组进行排序(优化的快速排序算法)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: