02_Java语言基础部分【总结】
1. 数据的输入/输出
标准输入输出流
字符输入: char c = (char)System.in.read();
字符串输入: BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str = buf.readLine();
使用System.out输出
使用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. 进制转换的问题
//法一: 查表法+递归函数 实现十进制与任意进制的转换, 可以轻度使用,因为递归太消耗资源
//本想返回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.两个三角形
6. 魔方阵初识 和 螺旋矩阵的思考
7. 字符与整型变量的转换
02_Java语言基础部分【总结】的更多相关文章
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- day04<Java语言基础+>
Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构f ...
- day03<Java语言基础+>
Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ...
- day02<Java语言基础+>
Java语言基础(常量的概述和使用) Java语言基础(进制概述和二,八,十六进制图解) Java语言基础(不同进制数据的表现形式) Java语言基础(任意进制到十进制的转换图解) Java语言基础( ...
- Java语言基础(数组)
Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
- 03 java语言基础逻辑运算符
03.01_Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连 ...
- 02 java语言基础
常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用) A: ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
随机推荐
- 3ds max画曲线 设置摄像机的起始位置
参考 http://www.3dmax8.com/3dmax/2013/0916/5661.html 如果想创建曲线段,可以在单击下一个点时按住鼠标不放,继续拖曳,再拖到另一个点上,单击鼠标右键,即可 ...
- Mysql事务隔离级别
在说Isolation之前,需要谈谈关系型数据库的ACID特性. A(atomicity,原子性),指一个事务要么完全完成,要么全部回滚到起始状态,不存在中间状态. C(Consistency,一致性 ...
- Union函数
. 共用体声明和共用体变量定义 共用体(参考“共用体”百科词条)是一种特殊形式的变量,使用关键字union来定义 共用体(有些人也叫"联合")声明和共用体变量定义与结构体十分相似. ...
- Swift - 多行文本输入框(UITextView)
1,多行文本控件的创建 1 2 3 4 let textview = UITextView(frame:CGRect(x:10, y:100, width:200, height:100)) text ...
- Rotate partitions in DB2 on z
Rotating partitions You can use the ALTER TABLE statement to rotate any logical partition to becom ...
- Android手绘效果实现
效果图 原理 大概介绍一下实现原理.首先你得有一张图(废话~),接下来就是把这张图的轮廓提取出来,轮廓提取算法有很多,本人不是搞图像处理的,对图像处理感兴趣的童鞋可以查看相关资料.如果你有好的轮廓提取 ...
- jQuery – 8.事件和事件参数
事件 (*)JQuery中的事件绑定:$("#btn").bind("click",function(){}),每次都这么调用太麻烦,所以jQuery可 ...
- Dubbo应用与异常记录
结合项目里使用暴露出的问题,对并发较多的核心业务或者对请求失败等敏感的业务场景不太建议使用Dubbo, 如电商的购买等行为,使用Dubbo就必须阅读源码,熟悉相关机制,或者直接自己造轮子. >& ...
- Java内存泄露的理解与解决
依赖于引用判断的内存管理机制 Java中对内存对象的访问,使用的是引用的方式.在Java代码中我们维护一个内存对象的引用变量,通过这个引用变量的值,我们可以访问到对应的内存地址中的内存对象空间.在Ja ...
- 【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】
一.网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付. 1.直接和银行对接. 2.使用第三方支付平台 3.常见的第三方支付平台 二.使用易宝 ...