学习内容:
1.运算符:
自增、自减
int a = 4; int b = 3; a++;//先运算后加,如果有赋值、比较之类的运算,会先把a当前值进行赋值、比较,然后自身+1,如果没有参与运算,则直接自身+1 b--; ++a;//先加后运算,自身先+1,然后+1的这个值进行赋值、比较之类的运算 --b; System.out.println(a); System.out.println(b);
2.赋值
int d = 5; int e = 7; System.out.println(d=e); System.out.println(d==e); //注意,由于上方d的值已经被赋予e的值,所以返回true
3.逻辑运算
长路、短路与运算
int i = 2; System.out.println(i==1 & i++ == 2); System.out.println(i); //长路与,无论第一个表达式真假与否,第二个表达式都会被运算,输出i=3 int j = 2; System.out.println(j==1 && j++ ==2); System.out.println(j); //短路与,表达式一为假,第二个表达式不运算,输出j为2,如果表达式1为真,都为真,都会执行
长路、短路或运算
int i = 2; int j = 2; System.out.println(j==1 || j++ ==2); System.out.println(j);//表达式1为假,但表达式2为真,表达式2会被执行,输出j为3
综合运用:
int x = 1,y = 1;
if(x++==2 & ++y==2) //假 真 假 if内语句不执行 但是++y执行,同时x++执行
{
x =7;
}
System.out.println("x="+x+",y="+y); //x=2,y=2
int x = 1,y = 1;
if(x++==2 && ++y==2)//假 真 假 if内语句不执行 ++y不执行
{
x =7;
}
System.out.println("x="+x+",y="+y); //x=2,y=1
int x = 1,y = 1;
if(x++==1 | ++y==1) 真 假 真 ++y执行 if内语句执行
{
x =7;
}
System.out.println("x="+x+",y="+y); //x=7,y=2
int x = 1,y = 1;
if(x++==1 || ++y==1) 真 假 真 ++y不执行 y=1 x=7
{
x =7;
}
System.out.println("x="+x+",y="+y); //x=7,y=1
4.异或运算
相同为false,不同为true
boolean a = true; boolean b = false; System.out.println(a^b); //true System.out.println(a^!b); //false
5.Scanner类
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入一个数字:");
int i = s.nextInt();
System.out.println("您输入的数字是"+i);
String t = s.next();
System.out.println("你输入的文字是"+t);
s.close();
}
}
6.Random类
import java.util.Random;
class Test
{
public static void main(String[] args)
{
Random r = new Random(); //随机数,取值范围左闭右开
int z = r.nextInt(100); //随机整数
double db = r.nextDouble(10); //随机小数
}
}
7.switch
JAVA中的switch语句可接收的参数有 byte short int long类型,
1.7及以后版本可接收String 否则string类型需要使用enum枚举
8.for循环
class Test
{
public static void main(String[] args)
{
for(int i = 0;i<5;i++){
System.out.println("");
for(int j=0;j<i+1;j++){
System.out.print("*");
}
}
}
}
PS:上例中的双层for循环,外层循环控制行,内层循环控制列,输出的效果类似于表格,利用该方法可以实现很多输出效果:
例:
class test
{
public static void printn(){
int cou = 0;
for(int i=1;i<=100;i++){
if(i%10==9|i/10==9){
}else{
if(i<10){
System.out.print(i+" ");
}else{
System.out.print(i+" ");
}
cou++;// for语句内定义一个变量用来计数,每输出一个满足条件的数,该变量+1
if(cou%5==0){
System.out.println("");
}
}
}
}
public static void main(String[] args)
{
printn();
}
}

for循环执行顺序:
for(语句1;语句2;语句3){
执行语句;
}
语句1>>语句2,若为true>>执行语句>>语句3>>语句2,若为true,执行语句......>>语句3>>语句二,false,循环结束
PS while语句的使用技巧
利用while语句可以实现某些功能的控制台循环执行的效果,例如:
while(true){
System.out.println("-------库存管理-------");
System.out.println("1.查看库存清单");
System.out.println("2.修改库存数量");
System.out.println("3.退出");
System.out.println("请输入要执行的操作序号:");
int select = se.nextInt();
switch(select){
case 1:
CheckInventory(mba,tp,asus);
break;
case 2:
ChangeInventory(mba,tp,asus);
break;
case 3:
se.close();
return;
default:
System.out.println("操作号输入错误,请重新输入:");
}
}
当用户输入错误时,可以实现Scanner的再次调用,并且使得switch语句再次进行判断,
另外用户可在执行完1或2的操作时,可选则执行其他的操作,
直到用户选择退出。
