1. Java基础和细节-Java的基本程序设计和结构

1. 注释

     1)单行注释:从//开始到本行结尾
     2)长篇注释:/*开始,*/结束
     3)文档注释:/**开始,*/结束,可以用来自动生成文档

2. 数据类型
     1)整数
          int(4)     short(2)     byte(1)     long(8)[以L结尾]
     2)浮点
          float(4)[有效位7,以F结尾]     double(8)[有效位15]
          三个特殊的浮点数值:
               正无穷大(Double.POSITIVE_INFINITY)
               负无穷大(Double.NEGATIVE_INFINITY)
               Double.NaN(0/0或者负数的平方根结果为NaN),Double.isNaN(double num)判断是否是NaN
     3)字符
          char(2) 单引号'A',Unicode编码单元\u0000~\uffff,\u2122表示注册符号等
          Character类中有很多字符是否是标示符等的判定方法
     4)布尔
          boolean(1) 两个值:true和false
 
3. 变量
     1)不要使用未被初始化的变量,最好显示进行初始化
     2)使用final声明常量(const是Java保留的关键字,但目前没有被使用)
 
4. 运算符
     1)Math类中包含了各种各样的数学函数,在函数前加Math.或者import static java.lang.Math.*(静态导入)
     2)可预测结果比运行速度更重压的话,使用StrictMath类(fdlibm实现的算法)
     3)int和long转换成float或者long转成double都会有精度损失
 
5. 代码点和代码单元
     1)代码点就是一个Unicode字符。代码单元就是代码点的集合
     2)辅助字符需要一对代码单元表示,辅助字符一般用于汉字或者日文等字符
     3)遍历字符串,依次查看每一个代码点:        
int cp = sentence.codePointAt(i);
if(Character.isSupplementaryCodePoint(cp))
        i+=2;
else
        i++;
        4)回退操作
i--;
int cp = sentence.codePointAt(i);
if(Character.isSupplementaryCodePoint(cp))
        i--;
 
  6. StringBuffer vs. StringBuilder
     1)StringBuffer线程安全
      2)StringBuilder非线程安全,单线程中使用比StringBuffer快
 
7. 控制台输入输出   
1)Scanner in = new Scanner(System.in);
     System.out.println("What is your name?");
     String name = in.nextLine();
     System.out.println("How old are you?");
     int age = in.nextInt();
     in.next();      //读一个单词
     
2)Console cons = System.console();
     String userName = cons.readLine("User Name: ");
     char[] password = cons.readPassword("Password: ");     // 密码处理之后马上用填充值覆盖数组元素——安全
     3)格式化输出
           System.out.printf("%,.2f", 10000.0/3.0);     ==>       3,333.33


 

 
8. 文件的输入输出
     1)Scanner in = new Scanner(new File("myfile.txt"));     // 构造一个从给定文件读取数据的Scanner
     2)Scanner in = new Scanner(String data);                   // 构造一个从给定字符串读取数据的Scanner
     3)PrintWriter out = new PrintWriter("myfile.txt"));           
 
9. 控制流程
     1)flag:  ...   break flag;
 
10. 大数值
     1)BigInteger
     2)BigDecimal
 
11. 数组
     1)简单打印System.out.println(Arrays.toString(array));
     2)数组拷贝Arrays.copyOf/System.arraycopy(from, fromIndex, to, toIndex, count);
     3)数组排序Arrays.sort(array);
     4)int r = (int)(Math.random() * n) [0, n-1]随机整数
     5)for(double[] row : array)
               for(double value: row)
                    do something with value
     6)二维数组快速打印System.out.println(Arrays.deepToString(array));
     7)不规则数组
               int[][] odds = new int[NMAX + 1][]
               for(int n = 0; n <= NMAX; n++)
                    odds[n] = new int[n+1];

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值