变量名命名规则
首字母:
字母,下划线_,美元符$ (通常情况下,都是以字母开头,首字母小写)
其他字:
数字,字母,下划线_,$
变量名通常是名词,第一个单词首字母小写,后面的单词首字母大写(驼峰命名法),eg:int zhangSan ;
Java中的保留字
java中的保留字
要注意的是goto,他在Java中没有具体含义,但是他是Java中的保留字。
运算符
算术运算符:
+、-、*、/、%
tips:
对于除法来说“/”是向下取整,例如:
public class HelloWorld {
public static void main(String[] ars){
int a=10;
int b=11;
int c;
//int d=0;
//d+=a;
c=a/b;
//c=++a;
System.out.println(c);
//System.out.println(b);
//System.out.println(c);
}
}
结果是:0
“%”是取余 :
public class HelloWorld {
public static void main(String[] ars){
int a=10;
int b=11;
int c;
//int d=0;
//d+=a;
c=b%a;
//c=++a;
System.out.println(c);
//System.out.println(b);
//System.out.println(c);
}
}
结果是:1
自增自减运算:
++、–、
tips:
i++是先用后加
++i是先加后用
i=i+++j相当于i=(i++)+j
例子:
public class HelloWorld {
public static void main(String[] ars){
int a=10;
int b=0;
int c=0;
int d=0;
d+=a;
b=a++;
c=++a;
System.out.println(c);
System.out.println(b);
System.out.println(c);
}
}
运行结果
12
10
12
赋值运算符:=、+=、-=、*=、/=
j+=i相当于j=j+i 也就是说”+、-、*、/、%“都可以放到“=”前面去
关系运算符:>、<、>=、<=、==、!=
返回的是布尔值
==是否等于,!=是否不等于。
例:
int a=12;
int b=14;
int c=15;
System.out.println(a==b);
System.out.println(b!=c);
输出的结果是false 和 true
tips:
==和=:“=”是赋值运算“==”是判断两边是否相等
逻辑运算符
&&(短路与)、||(短路或)、!(非)
对于true && false&&true&&,处理的结果已经是false了,也就是说无论后面是结果是“真”还是“假”,整个语句的结果肯定是false了,所以系统就认为已经没有必要再进行比较下去了,也就不会再执行了。
而true&false&true&false,会一直进行下去,输出结果为false
位运算符
&(与)、|(或)、^(异或)、~(非)
int a=12;//二进制为1100
int b=11;//二进制为1011
int c=15;//二进制为1111
System.out.println(a|b);//1100|1011=1111=15
System.out.println(b&c);//1011&1111=1011=11
System.out.println(a^c);//1100^1111=0011=3
System.out.println(~c);
输出结果为15、11、3、-16
三目运算符:(规范不允许使用)
例:int k=b?10:9;
意思是如果b为true,则把10 赋给k,如果b为false,则把9赋给k。
移位运算符
(>>右移、<<左移、>>>无符号移位)
i=i>>1表示右移1位
判断语句
if语句
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] ars){
int score=0;
Scanner sanner=new Scanner(System.in);
//从控制台输入
System.out.println("请输入成绩");
score=sanner.nextInt();//阻塞
if (score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("中等");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("恭喜你挂掉了");
}
}
}
switch语句
int score=0;
Scanner sanner=new Scanner(System.in);
//从控制台输入
System.out.println("请输入成绩");
score=sanner.nextInt();
switch(score/10){
case 10:
System.out.println("恭喜你得了满分");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中等");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("挂掉了");
}
循环语句
例子:
//从0加到1000的和
int j=0;
int i=0;
//for循环
for(i=0;i<=1000;i++){
j=j+i;
}
System.out.println(j);
//do while 循环
do {
j=j+i;
i++;
}while(i<=1000);
System.out.println(j);
//while循环
while(i<=1000){
j=j+i;
i++;
}
System.out.println(j);
//求1000以内的水仙花数(水仙花数:例153=1^3+5^3=3^3)
for (int a = 1; a < 9; a++) {
for (int b = 0; b < 9; b++) {
for (int c = 0; c < 9; c++) {
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c){
int i=0;
i=100*a+10*b+c;
System.out.println(i);
}
}
}
}
或者:
int i=100;
while(i<1000){
int a=0;
int b=0;
int c=0;
c=i/100;
b=i/10%10;
a=i%10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.println(i);
}
i++;
}
//随便给一个整数,求它的二进制情况下的1有几个
int i;
Scanner sanner=new Scanner(System.in);
i=sanner.nextInt();
int count=0;
while(i!=0){
if(i%2==1){
count++;
}
i=i/2;
}
//也可以用for循环
for (int k = 0; k < 32; k++) {
if(i%2==1){
count++;
}
i=i>>1;
}
System.out.println(count);
两个关键字
break和continue:
break是跳出循环
continue是跳出本次循环
例
int i=0;
for(i=0;i<=10;i++){
if(i==4)break;
if(i==6)continue;
System.out.println(i);
}
输出结果为0123
int i=0;
for(i=0;i<=10;i++){
if(i==4)continue;
if(i==6)break;
System.out.println(i);
}
输出结果为01235