因为byte的范围是-128~127
所以 代码错在问题
需要将强制转换 代码为
byte x=(byte)129
过程:
129的二进制为 10000001 int类型为00000000 00000000 00000000 10000001 补码
计算机要通过补码进行计算 且变成一个字节
补码 1 0000001
-1
---------------------------
反码 1 0000000
------------------
原码 1 1111111
- 64+32+16+8+4+2+1
-127
同理 m的值也超出范围
则 int类型 00000000 00000000 00000000 11001000 正数原码反码补码相同
11001000 补码
最高符号位 数值位
1 1001000 补码
- 1
---------------------------------
1 1000111 反码
---------------------------------
1 0111000 原码
- 32+16+8=56
-56
int a = 20;
int b = 40;
int c = 0;
c=a;
a=b;
b=c;
System.out.println("a="a+" b="+b);
int a = 20;
int b = 40;
a=a^b;
b=a^b; // b= a^b^b b值为a a 为 a^b
a=a^b; // a= a^b^a
System.out.println("a="a+" b="+b);
import java.util.Scanner; public class Test2 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入三个数字"); int a=sc.nextInt(); int b=sc.nextInt(); int c=sc.nextInt(); System.out.println("a、b、c分别为"+a+" "+b+" "+c+" "); int x = (a>b)?((a>c)?a:c):((b>c)?b:c); //三元比较输出 System.out.println("最大值为"+x); if (a>b&&a>c){ // if 语句输出 System.out.println("最大值为a,"+a); }else if(b>a&&b>c){ System.out.println("最大值为b,"+b); }else System.out.println("最大值为c,"+c); } }
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int day=sc.nextInt();
switch(day){// switch (变量名)
case 1 :
System.out.println("星期一");
break;//执行语句1 后结束switch 没有break的话就会穿透程序
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("日期有误");
}
}
}
利用for循环求1~100偶数和
class Test2{
public static void main(String[] args){
int sum=0;
for(int i=0;i<=100;i++){
if(i%2==0){
sum+=i;
}
}
System.out.println("偶数和sum="+sum);
}
}
利用while循环求1-100偶数和
class Test2{
public static void main(String[] args){
int sum=0;
int i=1;
while(i<=100){
if(i%2==0){
sum=i+sum;
} i++;
}
System.out.println("偶数和sum="+sum);
}
}
import java.util.Scanner;
class Test2{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的成绩");
int x= sc.nextInt();
if (x>=90&&x<=100){
System.out.println("您的成绩为A");
}else if (x<90&&x>=80){
System.out.println("您的成绩为B");
}else if ( x<80&&x>=70){
System.out.println("您的成绩为C");
}else if(x<70&&x>=60){
System.out.println("您的成绩为D");
}else if(x<60){
System.out.println("您的成绩为E");
}
}
}
class Test2{
public static void main (String[] args){
int a;
int b;
int c;
for(int x=100;x<999;x++){
a=x%10;//取x的个位
b=(x/10)%10;// 取x 的十位
c=x/100;// 取x 的百位
if(a*a*a+b*b*b+c*c*c==x){
System.out.println("x是水仙花数"+x);
}
}
}
}
class Test2{
public static void main(String[] args){
for(int x=0;x<=33;x++){
for(int y=0;y<=50;y++){
if((3*x+2*y+(100-x-y)/3==100)&&((100-x-y)%3==0)){
System.out.println("公鸡:"+x+"只,母鸡:"+y+"只,小鸡:"+(100-x-y)+"只");
}
}
}
}
}
class Test2{
public static void main(String[] args){
for(int i=1;i<=9;i++){// 1 1 1*1=1 2 1 2*1=2 2*2
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+" ");
}System.out.println(" ");
}
}
}
import java.util.Scanner;
class Test2{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int sum=1;
for(int x =a;x>0;x--){
sum=sum*x;
}
System.out.println(sum);
}
}