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.  
   重点写一下十进制用代码实现转二进制、八进制、十六进制的代码. 
     //法一: 查表法+递归函数 实现十进制与任意进制的转换, 可以轻度使用,因为递归太消耗资源
//本想返回String类型, 但是递归过程中每个函数相互独立,所有递归在一定范围内可以简化代码
public static void method1(int i,int radix){
char[] charmap = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
if(i<0)
throw new RuntimeException("系统正在升级中,目前暂不支持计算负数的功能");
else if(i>0){
method1(i/radix,radix);
System.out.print(charmap[i%radix]);
}
}

//法二: 模仿计算机的位运算实现十进制与任意进制的转换. 发现思考得更久,不过发现花的时间越长, 但是比方法一好, 但是和API的Integer.toSring还有差距.以后再说.
//思路: 1.进行&操作 2.无符号右移
//判断条件: 如果数不为0的话继续循环. 60 16
public static String method2(int i,int radix){
if(i==0){
System.out.println('0');
return null;
}
char[] charmap = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
StringBuilder sb = new StringBuilder();
while(i!=0){
sb.append(charmap[i&radix-1]);
//得到偏移量,用到了初等数学知识, 不过我觉得还是定义数组好, 可以思考一下, 不就是用一点内存.
i=i>>>(int)(Math.log(radix)/Math.log(2));
}
return sb.reverse().toString();
}

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) :将字符串形式的数字数据转化为双精度数。

02_Java语言基础部分【总结】的更多相关文章

  1. day05<Java语言基础--数组>

    Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...

  2. day04<Java语言基础+>

    Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构f ...

  3. day03<Java语言基础+>

    Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ...

  4. day02<Java语言基础+>

    Java语言基础(常量的概述和使用) Java语言基础(进制概述和二,八,十六进制图解) Java语言基础(不同进制数据的表现形式) Java语言基础(任意进制到十进制的转换图解) Java语言基础( ...

  5. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

  6. 03 java语言基础逻辑运算符

    03.01_Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连 ...

  7. 02 java语言基础

    常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用) A: ...

  8. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  9. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

随机推荐

  1. Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)

    前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环.本以为单纯的ViewPager就可以实现这些功能.但是蛋疼的事情来了,ViewPager并不支持循环翻页.所以 ...

  2. 【linux】jdk安装

    1.在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载最新版的rpm文件,我 ...

  3. 【python】为什么修改全局的dict变量不用global关键字

    转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? ...

  4. 【XLL API 函数】 xlfSetName

    常常用于创建和删除与DLL定义的名称 原型 Excel12(xlfSetName, LPXLOPER12 pxRes, 2, LPXLOPER12 pxNameText, LPXLOPER12 pxN ...

  5. iOS push与present Controller的区别

    push与present都可以推出新的界面.present与dismiss对应,push和pop对应.present只能逐级返回,push所有视图由视图栈控制,可以返回上一级,也可以返回到根vc,其他 ...

  6. Android Studio新建了一个项目看不到手机界面的效果

    我今天新建了一个项目,但是在这里却看不到手机的界面效果,如下图:

  7. NYOJ题目916胖子小的百宝袋

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAL6CAIAAAC+R9cJAAAgAElEQVR4nOydO5LcvM6GzyYmn4U47o

  8. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  9. hdu 1541 Stars

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 思路:要求求出不同等级的星星的个数,开始怎么也想不到用树状数组,看完某些大神的博客之后才用树状数 ...

  10. JAVA中读取xls数据方法介绍

    用例编号(UI-0001) 用例名称({验证页面跳转|验证元素文本}-简要明确表述) 验证类型 是否执行 初始URL 初始元素xpath 目标元素xpath 目标元素属性 期望结果 UI-0001 验 ...