作者:~小明学编程
文章专栏:JavaSE基础
目之所及皆为回忆,心之所想皆为过往
由于Java的运算符与C语言的相差不大,在这里主要介绍一下Java运算符的特别之处,就不做详细的介绍了。
目录
运算符
基本四则运算符:加减乘除模(+ - * / %)
增量运算符 += -= *= %=
自增/自减运算符 ++ --
关系运算符
逻辑运算符
位运算符与移位运算
条件运算符
运算符的优先级
逻辑控制
分支结构
if 语句
switch语句
循环结构
输入输出
输出到控制台
加减乘除在这里就不讲了,和C语言没啥区别,在这里值得我们说的是取余运算%,在JAVA中
我们不仅能对整数进行%运算,还能对浮点型进行%运算。
public class Dome {
public static void main(String[] args) {
int x=4;
int y=3;
float a=11.5f;
float b=1.5f;
System.out.println(a%b);
System.out.println(x%y);
}
}
这里我们会看到有报错,这是因为我们事先对b进行了一个整型提升,b+5的类型成为了int型赋给byte型明显放不下,所以会报错,但是b+=5;则不会报错,这是因为我们的增量运算符给b+5做了一个强制类型转换等同于b=(byte)(b+5);
public static void main(String[] args) {
int a=20;
a+=10;
byte b=5;
// b=b+5;错误写法
b+=5;//等同于b=(byte)(b+5);
System.out.println(a+" "+b);
}
自增自减运算符与C语言一样详见请看http://t.csdn.cn/S5Ml9
http://t.csdn.cn/cZoDV这里是C语言的运算符和JAVA的基本一样,不一样的是移位运算,这里我们主要说一下
1. 左移 1 位 , 相当于原数字 * 2. 左移 N 位 , 相当于原数字 * 2 的 N 次方 .2. 右移 1 位 , 相当于原数字 / 2. 右移 N 位 , 相当于原数字 / 2 的 N 次方 .3. 由于计算机计算移位效率高于计算乘除 , 当某个代码正好乘除 2 的 N 次方的时候可以用移位运算代替 .4. 移动负数位或者移位位数过大都没有意义 .
if(布尔表达式){
// 语句
}
这里我们需要强调的是if后面的括号里面必须是布尔表达式,这与C语言是不同的,不能将一个整型变量放到里面进行判断。
这里我们重点讲解一下Java的switch语句
循环结构与C语言唯一出入还是括号内必须放布尔表达式,主要是多多练习
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
flfloat salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a= scanner.nextInt();
String str = scanner.nextLine();
System.out.println(str);
System.out.println(a);
if (a%2==0)
System.out.println("偶数");
else
System.out.println("奇数");
}
我们可以看到我们还没有输入字符程序就直接进行下去把我们的数字给打印下来了,这是BUG当我们的数字输入在字符串前面的时候程序会直接向下运行,不给我们接受字符串的机会,要想接受字符串只有将str的接受放在a 的前面才行。