zoukankan      html  css  js  c++  java
  • 02_Java语言基础部分【总结】

    1. 数据的输入/输出

         标准输入输出流

              字符输入: char c = (char)System.in.read();

              字符串输入: BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

                       String str = buf.readLine();

              使用System.out输出 

                (标准输出流System.out)提供的如下方法
                (1)print()方法:实现不换行的数据输出; 
                (2)println()方法:与上面方法的差别是输出数据后将换行。
                (3)printf()方法:带格式描述的数据输出。该方法包含两个参数,第一个参数中给出输出格式的描述,第2个参数为输出数据,其中,输出格式描述字符串中需要安排与输出数据对应的格式符。常用格式符包括:%d代表十进制数;%f代表浮点数;%e代表科学表示法的指数位数;%n代表换行符;%x代表十六进制数;%s代表字符串。 

        使用javax.swing.JOptionPane

              showInputDialog方法获取字符串

              showMessageDialog弹出消息显示对话框.


    2. 常用的数学方法

    java.lang.Math类的主要方法 

              int abs(int i) 

              int ceil(int i1,int i2)      大于等于d的最大整数

              double floor(double d) 小于等于d的最大整数

              double random()         返回大于等于 0.0 且小于 1.0的 double 值

              long   round(double d)  最靠近d的长整数

              double log(double d) 

              double exp(double x) 

              double pow(double a, double b) 

              double sqrt(double a) 

              double cos(double d)  

         /*由于让系统产生随机数使用

            0~9的随机数 (int)(Math.random()*10);

            0~999的随机数 (int)(Math.random()*1000);

            a~b的随机数 (int)(Math.random()*(b-a));

            其实Math的random方法用的就是util包中的Random类

            因此可以Random.nextDouble()替换Math.random()       

         */   


    3. 交换两个数值的三种方法

      1.借助temp
      2.a = a+b; //有局限性
         b = a-b;
         a = a-b;
      3.a = a^b; //技巧性写法
         b = a^b;
         a = a^b;


    4. 进制转换的问题

         二进制与十进制,八进制,十六进制的转换都是以二进制作为桥梁
           注意负数的二进制是正数取反+1,所以最高符号位都是1.  
       重点写一下十进制用代码实现转二进制、八进制、十六进制的代码. 
     1     //法一: 查表法+递归函数 实现十进制与任意进制的转换, 可以轻度使用,因为递归太消耗资源
     2     //本想返回String类型, 但是递归过程中每个函数相互独立,所有递归在一定范围内可以简化代码
     3     public static void method1(int i,int radix){
     4         char[] charmap = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     5         if(i<0)
     6             throw new RuntimeException("系统正在升级中,目前暂不支持计算负数的功能");
     7         else if(i>0){
     8             method1(i/radix,radix);
     9             System.out.print(charmap[i%radix]);
    10         }            
    11     }
    12     
    13 //法二: 模仿计算机的位运算实现十进制与任意进制的转换. 发现思考得更久,不过发现花的时间越长, 但是比方法一好, 但是和API的Integer.toSring还有差距.以后再说. 14 //思路: 1.进行&操作 2.无符号右移 15 //判断条件: 如果数不为0的话继续循环. 60 16 16 public static String method2(int i,int radix){ 17 if(i==0){ 18 System.out.println('0'); 19 return null; 20 } 21 char[] charmap = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 22 StringBuilder sb = new StringBuilder(); 23 while(i!=0){ 24 sb.append(charmap[i&radix-1]); 25 //得到偏移量,用到了初等数学知识, 不过我觉得还是定义数组好, 可以思考一下, 不就是用一点内存. 26 i=i>>>(int)(Math.log(radix)/Math.log(2)); 27 } 28 return sb.reverse().toString(); 29 }

    5.两个三角形

    *****
    ****
    ***
    **
    *
    从大到小,变初始条件
    for(int i=0;i<length;i++)
      for(int j=i;j<length;j++)
    *
    **
    ***
    ****
    ******
    从小到大,变判断条件
    for(int i=0;i<length;i++)
      for(int j=0;j<=i;j++)
    6. 魔方阵初识 和 螺旋矩阵的思考
      mark一下,有时间再写.
    7. 字符与整型变量的转换
              Integer.parseInt(String) :将数字字符串转化为整数 
              Double.parseDouble(String) :将字符串形式的数字数据转化为双精度数。
    ---------thinking、architecture、code、treasure---------
  • 相关阅读:
    python3 5个带key内置函数
    python3常用内置函数总结
    python入门基础-函数装饰器的理解
    python入门基础-三元表达式、命名空间、作用域、函数名本质、闭包
    python入门基础-初识函数
    第二章001编写脚本
    Appium 自动化测试第一天——基础知识
    python基础-读取文件
    linux6.4 安装python3 pip setuptools
    selenium+python之HTML测试报告
  • 原文地址:https://www.cnblogs.com/elaa/p/3978974.html
Copyright © 2011-2022 走看看