一:赋值运算符与比较运算符(与C类似)
……同C……
二:逻辑运算符(与C类似)
异或(^):两个对象相同则结果为true,不同为false;
三:位运算符(与C类似)
<<:左移; >>:右移; >>>:无符号右移;
如数字31用二进制表示后,再左移28位:即31<<28
0000 0000 0000 0000 0000 0000 0001 1111
左移28位后:
1111 0000 0000 0000 0000 0000 0000 0000
此时最高位(符号位)为1此数为负数,将此数加1然后取反可得到原数。
四:三元运算符(与C类似)
...
int max1=(m>n)?
进制转换:
(1)、
class weiyunsuanfu{
public static void main(String[] args){
int i=60;
String binary=Integer.toBinaryString(i); //转化为二进制的函数
System.out.println(binary);
String hex=Integer.toHexString(i); //转换为十六进制的函数
System.out.println(hex);
}
}
(2)、进制转换的底层实现
class weiyunsuanfu{*
public static void main(String[] args){
int i=60;
int j=i&15;
String k1=(j<=9)?j+"":(char)(j-10+'a')+"";
//System.out.println(k1);
i=i>>4;
int z=i&15;
String k2=(z<=9)?z+"":(char)(z-10+'a')+"";
System.out.println(k2+k1);
}
}
... 四:三元运算符(与C类似)中的(1)与(2)两道程序菜的编译运行参照本人博客的 “ java入门菜中的cmd ” 篇 。。。
五:分支结构:(if-else、switch-case(与C类似))
用法与细节同C;
例子:
class test
{
public static void main(String[] args)
{
int age=20;
if(age>10)
System.out.println("大了!!!");
else if(age>15)
System.out.println("啊欧,大了!!!");
if(age>0)
System.out.println("大大大了!!!");
}
}
//以上程序中,满足了第一个if,执行完第一个if后else if条件也成立也不执行;
//但是第一个if执行完后,还是会判断第二个if,第二个if也满足继续执行第二个if后的语句。
—————————————————————————————
class test
{
public static void main(String[] args)
{
int x=4;
int y=1;
if(x>2){
if(y>2)
System.out.println(x+y) ; //if后不加大括号,则遇到“;”号认为if语句结束
System.out.println(“BZU Stu”); //会执行此语句,此句可理解为else--if(y>2)不成立;所以执行else
}
}
}
(2)、
例题:
答案:
import java.util.Scanner;
class test
{
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.println("身高(cm):");
int high=scanner.nextInt();
System.out.println("财富(千万):");
double money=scanner.nextDouble();
System.out.println("帅?:");
boolean shuai=scanner.nextBoolean();
if((high>=180)&&(money>=1)&&(shuai==true))
System.out.println("我一定要嫁给他!!!");
else if((high>=180)||(money>=1)||(shuai==true))
System.out.println("嫁吧,比上不足,比下有余!");
else
System.out.println("不嫁了。");
}
}
- switch-case:
class test
{
public static void main(String[] args)
{
switch(表达式){
case 常量1:
语句1;break;
case 常量2:
语句2;break;
………………………………
case 常量n:
语句n;break;
}
}
}
用switch-case实现下列各题:
题2、
import java.util.Scanner;
class test
{
public static void main(String[] args)
{
int score;
Scanner scanner=new Scanner(System.in);
score=scanner.nextInt();
switch(score/10){ //还可以除60,case 0;不及格;case 1:
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;
case 5:
System.out.println("不及格");
break;
case 4:
System.out.println("不及格");
break;
case 3:
System.out.println("不及格");
case 2:
System.out.println("不及格");
case 1:
System.out.println("不及格");
break;
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入有误!!!");
break;
}
}
}
题4、
import java.util.Scanner;
class test
{
public static void main(String[] args)
{
int sum=0;
System.out.println("请输入月份与天数.");
Scanner scanner=new Scanner(System.in);
System.out.print("月份:");
int month=scanner.nextInt();
System.out.print("天数:");
int day=scanner.nextInt();
switch(month){
case 12:
sum+=30;
case 11:
sum+=31;
case 10:
sum+=30;
case 9:
sum+=31;
case 8:
sum+=31;
case 7:
sum+=30;
case 6:
sum+=31;
case 5:
sum+=30;
case 4:
sum+=31;
case 3:
sum+=28;
case 2:
sum+=31;
case 1:
sum+=day;
}
System.out.println(sum);
}
}
六:循环结构:while、do-while、for( ; ; )(与C类似)
用法与细节同C;