JAVA学习笔记
(由于有bug导致吞掉一部分内容,只能停用标题,给阅读带来不便非常抱歉)
System的首字母必须大写
String的s要大写
public的首字母要小写
关键字都是小写的
类
public class note {
标准开始格式
public static void main(String[] args) {
这是运行程序必须写的主方法,每个程序只能有一个
快捷键psvm
import java.util.Scanner;
打印以及键盘输入
public class HelloWorld {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
double i = sc.nextInt();
string i = sc.next();(声明什么变量就有用next+变量类名,除了字符串直接用next或nextLine)
接收时,遇到回车或者空格都视为输入一次,但nextLine可以接收空格等,而next不行
但是直接在nextInt等后接nextLine会导致nextLine接收到回车从而为空
System.out.println(i);(sout)先打印再换行
System.out.print(i);只打印不换行
}
}
这是如何用键盘输入数字(不能输入字符!)
变量类别
声明变量由小到大:byte short int long(赋值后带L) float(赋值后带F) double(char为单字符,字符串为String)
运算时byte short char自动变为int,带String其他所有变为String
boolean a = true;可知Boolean
强制转换:byte b = (byte)(b1 + b2) (可能数据溢出)
字符串的+示意为连接符号,但运行系统时从左到右计算,char转变为int根据ASCII表转换为数字
数值运算
a++把自己加1,和++a同理,--同理
int b = a++代表先把a给b,再把a+1
int b = ++a代表先把a+1,再把a给b
a+=b即两者相加给a,-=、*=、/=、%=同理
Math常用方法:
Math.pow(x,n)(x的n次方)
Math.sqrt()(开方)
Math.(a)sin() Math.(a)cos() Math.tan() Math.atan()
Math.PI(圆周率)
Math.toDegrees()(将括号里的弧度制转为角度制)
Math.abs()(绝对值)
Math.max/min()(取大/小)
Math.exp()/exp10()
Math.log()/log10()
数值比较
==相等
!=不等
>=,,<容易理解
逻辑符号
&同时true则true;&&为短路判断,更快;如果&连接数字,则01对位判断true和false,最后输出数字,|同理,<>右移>>>无符号右移
|一个true则true;||为短路,同理
^两个一样为true
!取反
取大小
int max = a > b ? a : b(ab取大)意为true则输入a,false则b
条件控制
if (条件) {执行程序}
if () {} else {}
if () {} else if () {} else ……
switch (一个值) {
case 值1(不能是自变量):
语句;
break;
case 值2:
……
default:(没有可不写)
语句;
break;
}
Java12后也可以case 1,2,3,4,5:
指针
for (int i = 1; i = 'a' && c <= 'z'(c为字符变量)
注意字符变量比较时,不等号两边都会认定为字符形式,故0~9的表示需用48~57代替或者直接用'0'~'9'代替
可变字符串:StringBuilder(用于字符串构造)
StringBuilder sb = new StringBuilder();(sb为可变字符串)(StringBuilder的打印对象是内容而非地址)
sb.append(name);(将name添加入sb)
sb.reverse();(将sb反转)
sb.length();(获取sb的长度)
String str = sb.toString();(将sb转化为字符串储存到str中)(此后可直接调用字符串的方法,即用好几个点)
可变字符串:StringJoiner(用于字符串周期性添加)
StringJoiner sj = new StringJoiner(间隔符号); 1间隔符号2间隔符号3
StringJoiner sj = new StringJoiner(间隔符号,开始符号,结束符号); 开始符号1间隔符号2间隔符号3结束符号
sj.add(一个间隔单元的字符串);(如果需要间隔多次,则需要调用for循环并逐渐将每个单元加入)
sj.length();(获得间隔后的sj长度)
sj.toString();(同上)
字符串数组
字符串数组初始化:
String[] str = new String[length]
String[] str = new String[]{……}
String[] str = {……}
}
}
跨行框选代码记得按鼠标滚轮或alt