文章目录
注释
//单行注释
/*
多行注释
*/
/**
文档注释
*/
字面量
数据在代码中的格式。
整数和小数:直接写。
单个字符:单引号包围。
多个字符:双引号包围。
真假:true,false。
空:null。
public class Main {
public static void main(String[] args) {
System.out.println(123);
System.out.println(123.456);
System.out.println('a');
System.out.println("你好,世界!");
System.out.println(true);
}
}
变量
声明格式:
类型 名 = 值。
public class Main {
public static void main(String[] args) {
int a=321;
System.out.println(a);
}
}
变量值是可以改变的。
public class Main {
public static void main(String[] args) {
int a=321;
System.out.println(a);
a=456;
System.out.println(a);
a=a+1;
System.out.println(a);
}
}
变量的规则
声明之后才能使用。
类型和值要一致。
有效范围为所在的大括号内。
不能重复声明同一个变量。
可以不赋值,但使用时必须有值。
关键字
有特殊功能的单词,比如说public,class,int。
标识符
变量名,类名,等等我们取名的规则。
字母,数字,下划线,美元符组成
不以数字开头。
不能是关键字。
大写和小写不一样。
ASCII编码
字符的存储格式,是ASCII编码表中的对应数字。
A:65
a:97
0:48
public class Main {
public static void main(String[] args){
//65+1
System.out.println('A'+1);
}
}
基本数据类型
整数:
byte,占用1字节
short,占用2字节
int,占用4字节
long,占用8字节
小数:
float,占用4字节
double,占用8字节
字符:
char,占用2字节
布尔:
boolean,占用1字节
整数值默认为int,
long类型要加L。
小数值默认为double,
float类型要加F。
public class Main {
public static void main(String[] args){
byte a=1;
short b=2;
int c=3;
long d=4L;
float aa=1.1F;
double bb=1.1;
char aaa='你';
boolean bbb=true;
}
}
类型转换
小的类型可以自动转换成大的类型。
public class Main {
public static void main(String[] args){
byte a=1;
int b=a;
}
}
多个类型的值参与计算时,小类型会自动转换成大类型。
结果由最高的类型决定。
byte,short,char总是会转成int。
强制转换:可以把大类型的数据转换成小类型。
格式:(类型)值。
装不下的部分会丢失。
public class Main {
public static void main(String[] args){
int a=123123;
short b=(short) a;
//-7949
System.out.println(b);
}
}
运算符
算术运算符
加减乘除,取余。
整数相除还是整数。
想得到小数的话,乘1.0
即可。
public class Main {
public static void main(String[] args){
int a=10;
int b=4;
System.out.println(a+b);//14
System.out.println(a-b);//6
System.out.println(a*b);//40
System.out.println(a/b);//2
System.out.println(1.0*a/b);//2.5
System.out.println(a%b);//2
}
}
字符串作加法,会拼接字符串。
自增自减
放在变量前面或者后面,让该变量加一或者减一,组成表达式的值有区别。
假设a=10。
a++,a会变成11,表达式的值为10
++a,a会变成11,表达式的值为11
a–,a会变成9,表达式的值为10
–a,a会变成9,表达式的值为9
public class Main {
public static void main(String[] args){
int a=10;
System.out.println(a++);
int b=10;
System.out.println(++b);
}
}
赋值运算符
a=b
a+=b,等同于a=a+b。
a-=b,等同于a=a-b
a*=b,等同于a=a*b
a/=b,等同于a=a/b
a%=b,等同于a=a%b
结果会强制转换为a的类型。
关系运算符
等于是两个等号,一个等号代表赋值。
public class Main {
public static void main(String[] args){
int a=10;
int b=5;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a<=b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
逻辑运算符
与,&
或,|
非,!
异或,^
双与&&
双或||
功能和与或一致,但效率更高。
三元运算符
布尔值?值1:值2。
整体是表达式,如果布尔值为真,值为值1。
如果布尔值为假,值为值2。
public class Main {
public static void main(String[] args){
int a=10;
int b=5;
System.out.println(a>b?"好":"不好");
}//好
}
获取用户的输入
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);//初始化
System.out.println("请输入:");
String s=sc.next();//获取一行输入
System.out.println("你输入了:"+s);
}
}
流程控制语句
顺序
一行一行地执行。
分支
往左走还是往右走。
循环
反复转圈圈。
if
如果真就执行代码a。
int a = 3;
int b = 4;
if (a > b) {
System.out.println("1");
}
如果真就执行代码a,否则执行代码b。
int a = 3;
int b = 4;
if (a > b) {
System.out.println("1");
} else {
System.out.println("2");
}
如果真就执行代码a,为假继续判断。
如果真就执行代码b,否则执行代码c。
int a = 3;
int b = 4;
int c = 2;
if (a > b) {
System.out.println("1");
} else if (a > c) {
System.out.println("2");
} else {
System.out.println("other");
}
switch
根据值来判断走哪边。
public class Main {
public static void main(String[] args){
int a=10;
switch (a){
case 10:
System.out.println("a");
break;
case 20:
System.out.println("b");
break;
case 30:
System.out.println("c");
break;
default:
System.out.println("都不是");
}
}
}
for
for(a:b:c){
}
a代表初始化语句。
b代表继续循环的条件。
每次循环结束会执行一次c。
public class Main {
public static void main(String[] args){
for(int i=0;i<5;i++){
System.out.println("a");
}
}
}
while
while(a){
}
a代表循环的条件。
public class Main {
public static void main(String[] args) {
int i = 1;
while (i <= 10) {
System.out.println(i);
i++;
}
}
}
do…while
先执行一遍,再while循环。
public class Main {
public static void main(String[] args) {
int i = 0;
do {
System.out.println(i);
i++;
} while (i > 10);
}
}
break
立即结束当前循环。
i为2时,直接结束整个循环。
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 2) {
break;
}
System.out.println(i);
}
}
}
continue
结束本次循环,开始下一次。
i为2时,直接跳转到i为3。
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 2) {
continue;
}
System.out.println(i);
}
}
}