首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础整理(1)

Java基础整理(1)

作者头像
mukekeheart
发布2018-02-27 11:43:17
7540
发布2018-02-27 11:43:17
举报

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()对数值型数组进行排序(优化的快速排序算法)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档