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];
// 二维数组也可传递给方法 传递的也为数组的引用

最新文章

  1. 6. web前端开发分享-css,js移动篇
  2. Could not load type &#39;System.ServiceModel.Activation.HttpModule&#39; from assembly &#39;System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#39;
  3. 三部曲二(基本算法、动态规划、搜索)-1003-Lucky and Good Months by Gregorian Calendar
  4. Add Customerlize Button in More Button List In Odoo
  5. 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
  6. Hadoop与Spark比较
  7. ecpilise引入Maven项目目录不正常,无JRE,无Maven Dependencies
  8. jQuery getJSON() 能给外部变量赋值
  9. Java:异常的处理
  10. Java基础 —— DOM
  11. BZOJ 2705: [SDOI2012]Longge的问题 GCD
  12. 【Xamarin 在Mac OS 上的部署安装环境】
  13. W3Cschool学习笔记——HTML基础教程
  14. Android技术之-------电脑获取手机截图
  15. PTA的使用简介
  16. docker学习笔记(3)
  17. 【Math for ML】解析几何(Analytic Geometry)
  18. mysql 排序 oder by 和 使用hibernate 排序
  19. 跨域ajax请求携带cookie
  20. sencha touch 扩展篇之将sencha touch打包成安装程序(上)- 使用sencha cmd打包安装程序

热门文章

  1. Shell系列(25)- 条件判断之文件权限
  2. JavaScript对象的两类属性(数据属性与访问器属性)
  3. requests接口自动化-数据库参数化
  4. css定位:p:nth-child(n)
  5. 一文让你彻底理解having和where的区别
  6. ci框架 自定义配置方法
  7. Tidb使用
  8. c++ 的学习 第二集函数的重载
  9. P7726-天体探测仪(Astral Detector)【构造】
  10. P4590-[TJOI2018]游园会【dp套dp】