java随手记 基础
import java.util.Scanner; //Scanner is in this package 明确导入
import java.util.*; //通配符导入 两者性能上无区别
public class //声明类
public static void main(String[] args) //声明主函数
Scanner input = new Scanner(System.in); //创建一个Scanner对象,并将引用值赋值给input
double radius = input.nextDouble(); //键盘输入 输入的类型即为next后跟的精度 如nextInt(),nextByte()
// nextLine() 基于行的输入 即输入一整行
System.out.print //输出 不换行 "+"号可用于几个字符串之间的连接
System.out.println("The area for the circle of radius" + radius + "is" + area) //输出 换行
final double PI = 3.14159 //声明常量 常量名一般全大写 中间空格用下划线
Math.pow(2 , 3) //求2的3次幂 返回值即为2的3次幂 Math.sprt(x) //返回x的平方根
Math.abs(a) //返回a的绝对值
Math.random() //获得一个0.0到1.0间的随机double值
//通常为a + Math.random() * b 返回a到a+b间的一个随机数,不包括a+b
Math.exp(x) //返回e的x次方 Math.log(x) //返回x的自然对数(ln) Math.log10(x) //返回x的以10为底对数(lg)
//其他Math函数
//ceil() 上取整 返回双精度 floor() 下取整 返回双精度
//rint() 取最近整 若距离相等 取偶数的整数以双精度返回
//round(x) 若x为单精度数,返回(int)Math.floor(x+0.5) 若x为双精度数,返回(long)Math.floor(x+0.5)
long num 2324_4545_4519_3415L; //超过2 147 483 647的数表示时,要在后面加L
// 字面值:程序中直接出现的常量值
// 为提高可读性,java允许在一个数值型字面值的两个数字间使用下划线,如2324_4545_4519_3415L
// 可用数字加d/D/f/F表示为double或float型字面值 即直接转换为对应形式
// 如1.0/3.0 = 0.33...(小数点后16位) 而1.0F/3.0F = 0.33333334(小数点后八位)
// 科学计数法:123.456 -> 1.23456E2 / 1.23456E+2
int i = 1
++var int j = ++i; //j is 2 , i is 2
var++ int j = i++; //j is 1 , i is 2
--var int j = --i; //j is 0 , i is 0
var-- int j = i--; //j is 1 , i is 0
// 前置:自增的值本身变化 语句中的也变化
// 后置:自增的值本身变化 但语句中的不变 仍按原值计算
// 自增自减变化优先于基本运算 后置优先级优先于前置和其他基本运算 基本运算优先于异或,条件与,条件或
(double)1 //此为类型转换,将1从int型转换为double型
//java中 x1 op= x2形式的增强赋值表达式为x1 = (T)(x1 op x2) 此处T为x1的类型
boolean-expression ? expression1 : expression2
// 字符串转换为数字
// int intValue = Integer.parseInt(intString)
// double doubleValue = Double.praseDouble(doubleString)
// 格式化控制台输出
// System.out.printf(format , item1 , item2 , ... , itemk)
// e.g. System.out.printf("Count is %4.2f" , count); 输出台显示为 Count is 16.40 4代表宽度 .后的2代表小数点后精度 %f为格式符
// 常用的格式限定符
// %b 布尔值 %f 浮点数 %c 字符 %e 科学计数法 %d 十进制整数 %s 字符串
// 注意 长度小于宽度时,会在前面加空格 大于宽度时,会自动增加宽度
// 若要输出数字为12,345,678形式的 可在%后加一个, 如%,8d 若要在数字前面加0来补足位数 可在%后加一个0 如%08d
// 默认输出为右对齐 若要输出左对齐的格式 可在%后加一个- 如%-8d
// \n 换行符 \" 双引号 \\ 反斜杠
// 输出重定向 java ClassName > output.txt output.txt为自己设定的一个文本文件
// 输入重定向 java SentineValue < input.txt input.txt为自己设定的一个文本文件
// 可在同一命令中同时使用输入重定向与输出重定向 如 java SentineValue < input.txt > output.txt
// continue只是跳出了一次迭代 break是跳出了整个循环
// java中一维数组的通常写法为 elementType[] arrayRefVar
// 创建 elementType[] arrayRefVar = new elementType[arraySize] 或 elementType[] arrayRefVar = {value1 , value2 , value3};
// 可以通过 arrayRefVar.length 得到数组的大小 数组初始值 若为数值型 为0 若为char型 为'\u0000' 若为boolean型 为false
// foreach循环可以顺序遍历整个数组,不需要使用下标变量 格式为 for(elementType element: arrayRefVar){} 如 for(double e: mylist){}
// 复制数组方法 1. 循环 2. System中的静态方法arraycopy 3. 使用clone方法复制数组
// arraycopy(sourceArray, srcPos, targetArray, tarPos, length) sourceArray为原数组 targetArray为复制数组 srcPos,tarPos为起始点
// e.g. System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length); 注意 采用此方法需事先创建目标数组并分配内存空间
// 对于基本数据类型 java中是按值传递 对于数组类型参数 则是引用传递 注意 方法可以返回数组 返回的为改变后的数组 即数组的引用
// 可变长参数列表 typeName... parameterName 只能在方法中指定一个 同时该参数必须是最后一个参数 任何常规参数必须在它之前
// 在java中 将可变长参数当成数组对待 可以将一个数组或数目可变的参数传递给可变长参数
// java.util.Arrays类包含许多静态方法 如实现数组的排序 查找 数组的比较 填充数组元素 返回数组的字符串表示
// java.util.Arrays.sort(numbers) java.util.Arrays.parallelSort(numbers) 排序整个数组numbers
// java.util.Arrays.sort(char, 1, 3) java.util.Arrays.parallelSort(char, 1, 3) 排序部分数组 从char[1]到char[3]
// java.util.Arrays.binarySearch 采用的是二分查找 要求数组必须事先按升序排好
// java.util.Arrays.binarySearch(list, 11) 查找数组中11关键字 若找到 返回index 若未找到 返回-(insertionIndex + 1)
// java.util.Arrays.binarySearch(chars, 'a') 查找字符数组中的a 若找到 返回index 若未找到 返回-(insertionIndex + 1)
// java.util.Arrays.equals(list1, list2) 检测两个数组是否严格相等 返回true或者false
// java.util.Arrays.fill(list1, 5) 将5填充到list1中 java.util.Arrays.fill(list2, 1, 5, 8) 将8填充到list2[1]到list2[5]中
// java.util.Arrays.toString(list) 返回一个字符串,该字符串代表了数组中的所有元素
// 二维数组 elementType[][] arrayRefVar = new elementType[5][5] 第一个为行 第二个为列 均从0开始
// 行数获取 x.length 每行的长度 x[0].length
// 不规则数组的创建 int[][] arr = new int [3][]; arr[0] = new int[5]; arr[1] = new int[3]; arr[2] = new int[1];
// 二维数组也可传递给方法 传递的也为数组的引用
java随手记 基础的更多相关文章
- Java小白手记2:一些名词解释
看到<Java 征途:行者的地图> ,这是一篇有关java学习路径文章.对我等Java小白有指引作用.里面提到了一些基本的名词术语,有些我知道,有些不知道,再补上一些自己曾觉得模糊的,记录 ...
- 如何夯实(Java)编程基础,并深入学习和提高
如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...
- Java开发的基础条件:
------------Java开发的基础条件:Java相关的基础+对编程的自己的理解+调试代码+自己的坚持 一定要谦逊,不人云亦云,不去妄言某一门语言或技术好或坏!不是哪门技术有问题,而是(不会用才 ...
- Java多线程系列--“基础篇”11之 生产消费者问题
概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...
- Java多线程系列--“基础篇”04之 synchronized关键字
概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...
- Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答.本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start( ...
- Java多线程系列--“基础篇”05之 线程等待与唤醒
概要 本章,会对线程等待/唤醒方法进行介绍.涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long t ...
- Java多线程系列--“基础篇”06之 线程让步
概要 本章,会对Thread中的线程让步方法yield()进行介绍.涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 转载请注明出处:ht ...
随机推荐
- 解决navicat 导出excel数字为科学计数法问题
1.原因分析 用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式. 其实这个问题跟用什么语言导出csv文件没有关 ...
- svn的应用
SVN 如何来进行多人协作开发? 在实际工作中,通常是一个小组或者一个团队一起开发同一个项目,不同的人开发不同的功能模块,有一个公共的地方存放项目代码. 如果多个人同时对同一个文件做了修改,比如按照分 ...
- windows2012安装django
第一步:下载python3.6.8或者到(https://www.python.org/downloads/release/python-368/)官网下载(Windows x86-64 execut ...
- centos7.0 能ping通ip 无法ping通域名处理方法
第一步: 检查 vi /etc/sysconfig/network-scripts/ifcfg-eth0 查看网卡配置里的dns是否与 vi /etc/resolv.conf 的 nameser ...
- css Table 表格宽度失效解决方案
使用div包裹内容进行支撑 <table cellspacing="0"> <caption>89 HOLLAND ROAD SINGAPORE 27575 ...
- wordpress 搭建
wordpress 搭建: 公司要使用自建地图.选用了国外的Mapplic .但是Mapplic不支持直接编辑地图,需要用json的格式定义.但是wordpress版本的就有这个鬼东西,所以搞了一个这 ...
- kubeadm 如何将节点加入集群
kubeadm join 使用 token 过期之后(24小时过期),如何加入集群 一.重启生成新token # 创建新token kubeadm token create # 查看是否存在有效的 t ...
- 解决联想R720双系统Ubuntu16.04的无线网卡开启问题及信号不稳定
问题一:1.问题描述笔记本型号:Lenovo r720笔记本(i5-7300hq,gtx1060 maxq 6g),默认装入Win10系统,然而当装入Ubuntu16.04双系统时,会出现无线网卡(型 ...
- 11.2.0.4 RAC manual opatch
1.Stop the CRS managed resources running from DB homes. If this is a GI Home environment, as the dat ...
- 使用Mybatis的一些基本配置及Mybatis与数据库交互测试验证
1.简介 什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...