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随手记 基础的更多相关文章

  1. Java小白手记2:一些名词解释

    看到<Java 征途:行者的地图> ,这是一篇有关java学习路径文章.对我等Java小白有指引作用.里面提到了一些基本的名词术语,有些我知道,有些不知道,再补上一些自己曾觉得模糊的,记录 ...

  2. 如何夯实(Java)编程基础,并深入学习和提高

    如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...

  3. Java开发的基础条件:

    ------------Java开发的基础条件:Java相关的基础+对编程的自己的理解+调试代码+自己的坚持 一定要谦逊,不人云亦云,不去妄言某一门语言或技术好或坏!不是哪门技术有问题,而是(不会用才 ...

  4. Java多线程系列--“基础篇”11之 生产消费者问题

    概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...

  5. Java多线程系列--“基础篇”04之 synchronized关键字

    概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...

  6. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式

    概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...

  7. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别

    概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答.本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start( ...

  8. Java多线程系列--“基础篇”05之 线程等待与唤醒

    概要 本章,会对线程等待/唤醒方法进行介绍.涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long t ...

  9. Java多线程系列--“基础篇”06之 线程让步

    概要 本章,会对Thread中的线程让步方法yield()进行介绍.涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 转载请注明出处:ht ...

随机推荐

  1. 【转】mysql实现随机获取几条数据的方法

    sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE i ...

  2. Shell系列(22)- 字符截取命令awk

    简介 awk是一个数据处理工具,相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个"字段"来处理 awk的流程是依次读取每一行数据,读取完一行数据后,进行条件判断 ...

  3. 一文让你彻底理解SQL的子查询

    什么是子查询 当一个查询是另一个查询的条件时,称之为子查询. 为什么要使用子查询 在SELECT.INSERT.UPDATE或DELETE命令中只要是表达式的地方都可以包含子查询,子查询甚至可以包含在 ...

  4. springBoot 基础入门

    来处:是spring项目中的一个子项目 优点  (被称为搭建项目的脚手架)         减少一切xml配置,做到开箱即用,快速上手,专注于业务而非配置     从创建项目上: -- 快速创建独立运 ...

  5. python二级 第八套

    第一部分 基本操作 第一题 1. 第二题 1. 字符串的索引  和列表的索引   一样使用 2. 这俩者有什么区别 3. 我的意思想说  切片         里面没有冒号  就是表示取这个索引的 字 ...

  6. NOIP 模拟一 考试总结

    序列 考场上信心满满的打了nlogn的做法,我以为我稳了.据考试结束1h时发现看错题目了,打成了不连续的子序列.匆匆改了n2logn的做法.考试结束后,我发现我跪了.原来到终点才会发现我做的和人家不是 ...

  7. JDK源码阅读(3):AbstractStringBuilder、StringBuffer、StringBuilder类阅读笔记

    AbstractStringBuilder abstract class AbstractStringBuilder implements Appendable, CharSequence{ ... ...

  8. 洛谷3195 [HNOI2008]玩具装箱TOY(斜率优化+dp)

    qwq斜率优化好题 第一步还是考虑最朴素的\(dp\) \[dp=dp[j]+(i-j-1+sum[i]-sum[j])^2 \] 设\(f[i]=sum[i]+i\) 那么考虑将上述柿子变成$$dp ...

  9. HttpServletResponse 入门

    继承体系 功能: 设置响应消息 1. 设置响应行 格式:HTTP/1.1 200 ok 设置状态码:setStatus(int sc) 2. 设置响应头:setHeader(String name, ...

  10. IEEE 754 浮点数加减运算

    电子科技大学 - 计算机组成原理 小数的十进制和二进制转换 移码 定义:[X]移 = X + 2n ( -2n ≤ X < 2n ) X为真值,n为整数的位数 数值位和X的补码相同,符号位与补码 ...