在一个单词中间使用大写字母的方式称为骆驼命名法。以其自身为例,应该写成CamelCase)。
与C/C++一样,关键字void表示这个方法没有返回值,所不同的是main方法没有为操作系统返回“退出代码”。如果main方法正常退出,那么Java应用程序的退出代码为0,表示成功地运行了程序。如果希望在终止程序时返回其他的代码,那就需要调用System.exit方法。
public static strictfp void main(String[] args)
+=
int m= 7;
int n= 7;
int a=2*++m; // now a is 16,m is 8
int b=2*n++; // now b is 14,n is 8
&&
||
!
?:
&
|
^
~
<<
>>
>>> 用0填充高位
枚举类型包括有限个命名的值。例如,
enum Size { SMAL, MEDIUM, LARCE, EXTRA_ _LARGE };
现在,可以声明这种类型的变量:
Size s = Size.MEDIUM;
Size类型的变量只能存储这个类型声明中给定的某个枚举值,或者null 值,null 表示这个变量没有设置任何值。
String.substring(a, b); //容易计算子串的长度。length = b-a
String all = String.join(" / ", "S", "M", "L", "XL");
// all is the string "S/M/L / XL"
String.equals();
//比较的可以是字符串变量,也可能是字符串字面量。
"hello".equals(a); //是合法的
//要想检测两个字符串是否相等,而不区分大小写
"Hel1o".equalsIgnoreCase("hello");
if (str,1ength() == 0)
//or
if (str.equals(""))
if (str == null)
if (str != null &8 str.1ength() != 0)
String.length(); //返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。
int cpCount = greeting .codePointCount(0, greeting.length());
char first = greeting.charAt(0); // first is ‘H‘
char last = greeting.charAt(4); // last is ‘0‘
int index = greeting .offsetByCodePoints(0, i);
int cp = greeting.codePointAt(index);
类似于C和C++,Java 对字符串中的代码单元和码点从0开始计数。
int[] codePoints = str.codePoints().toArray();
String str = new String(codePoints, 0, codePoints.length);
有些时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗时,又浪费空间。使用StringBuilder类就可以避免这个问题的发生。
用许多小段的字符串构建一个字符串,那么应该按照下列步骤进行:
//1、构建一个空的字符串构建器
StringBuilder builder = new StringBuilder();
//2、调用append()添加内容
builder.append(ch);
//3、使用toString()构建字符串
String completedString = builder.toString();
Scanner in = new Scanner(System.in);
System.out.print("What is your name? ");
//输入行中有可能包含空格
String name = in.nextline();
//String name = in.next(); //读取一个单词(以空白符作为分隔符)
//String name = in.nextInt(); //读取整数
Scanner类定义在java.util包中。必须在.java文件开头包含
import java.util.*
// 读取一个密码
Console cons = System. console();
String username = cons, readLine("User name:" ) ;
//为了安全起见,返回的密码存放在一维字符数组中,而不是字符串中。
//在对密码进行处理之后,应该马上用一个填充值覆盖数值元素
char[] passwd = cons. readPassword(" Password: ");
Scanner in = new Scanner(Paths.get("myfile.txt"), "UTF-8");
如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠:
”c:\mydirectory\myfile.txt”
PrintWriter out = new PrintWriter("myfile.txt", "UTF-8");
read_data: //标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
{//循环
code...
break read_data;
}
continue;
语句用于for循环中,就可以跳到for循环的“更新”部分(即++部分)java.math包中:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。
add
substract
multiply
divide
compareTo
valueOf //将普通的数值-->大数值
int[] a; //声明 or int a[];
int[] a = new int[n]; //创建数组,长度为n,下标从0开始
//collection这一集合表达式必须是一个数组或者是一个实现了Iterable 接口的类对象
for (variable : collection) statement
//打印数组中的所有值
Arrays.toString();
//1、创建数组对象并同时赋予初始值
int[] smallPrimes = { 2,3, 5, 7, 11, 13};
//2、匿名数组
new int[] { 17, 19, 23, 29, 31, 37 }
// 使用上述这种语法形式可以在不创建新变量的情况下重新初始化一个数组。
smallPrimes = new int[] { 17, 19, 23, 29, 31, 37 };
// 这是下列语句的简写形式:
int[] anonymous = { 17, 19, 23, 29, 31, 37 };
smallPrimes = anonymous;
// 拷贝
int[] 1uckyNumbers = smallPrimes;
luckyNumbers[5] = 12; // now smal1Primes[5] is also 12
//如果希望将一个数组的所有值拷贝到一个新的数组中去就要使用Arrays类的copyOf()方法
//第2个参数是新数组的长度。
int[] copiedLuckyNumbers = Arrays.copyOf(luckyNumbers,1uckyNumbers.length);
//这个方法通常用来增加数组的大小:
1uckyNumbers = Arrays.copyOf(1uckyNumbers, 2 *luckyNumbers.1ength);
int[] a= new int[100]; // Java
//不同于
int a[100]; // C++
//而等同于
int* a= new int[100]; // C++
public class Message
{
public static void main(String[] args){
if (args.length = 0 || args[0].equals("-h"))
System.out.print("Hello,");
else if (args[0] .equals("-g"))
System.out. print("GOodbye,")
// print the other command-line arguments
for (int i = 1; i < args.length; i++)
System.out,print(" " + args[i]);
System.out.println("!");
}
}
如果使用下面这种形式运行这个程序:
java Message -g cruel world
args数组将包含下列内容:
args[0]: "-g"
args[1]: "cruel‘
args[2]: "world"
这个程序将显示下列信息:
Goodbye, cruel world!
在Java应用程序的main方法中,程序名并没有存储在args数组中。例如,当使用下列命令运行程序时
java Message -h world
,
args[0]是“-h”, 而不是“ Message”或“java ”。
//sort使用了优化的快速排序算法。快速排序对大多数数据集合来说都是效率比较高的。
sort()
binarySearch() //二分法搜索算法
fill() //将数组的所有数据元素设为v
//声明
double[][] balances;
//初始化1
balances = new double[NYEARS][NRATES];
//初始化2
int[][] magicSquare =
{
{16,3, 2, 13},
{5, 10,11, 8},
{9,6,7,12},
{4, 15, 14, 1}
};
//快速地打印一个二维数组的数据元素列表,可以调用:
Systerm.out.print1n(Arrays.deepToString(a));
//输出格式为:
[[16, 3, 2, 13], [5, 10, 11, 8],[9, 6, 7, 12],[4, 15, 14, 1]
//创建不规则数组
//1.首先分配一个具有所含行数的数组
int[] odds = new int[NMAX + 1][];
//2.接下来,分配这些行。
for (int n =0; n <= NMAX; n++)
odds[n] = new int[n + 1];
原文:https://www.cnblogs.com/nojacky/p/13906426.html