JavaSE基本语法——变量运算符练习题

本文提供了一系列关于Java基本语法的练习题,涵盖了变量交换、数值转换、运算符使用等方面,旨在帮助学习者巩固Java基础知识,如二进制到十六进制转换、短整型溢出问题、运算符优先级等实际编程问题。

1.插入代码,实现n和m值的交换
int n = 5,m = 13;

package test1;

public class Demo1 {
    public static void main(String[] args) {
//        1.插入代码,实现n和m值的交换
//        int n = 5,m = 13;
//        ..................
//        System.out.println("n="+n+",m="+m);

        int n = 5;
        int m = 13;

        int num = n;
        n = m;
        m = num;

        System.out.println("n="+ n +" m="+ m );
    }
}

2.如何手动实现整型数值60的二进制到十六进制的转换

package test1;

public class Demo2 {
    public static void main(String[] args) {
//        2.如何手动实现整型数值60的二进制到十六进制的转换

        String str1 = Integer.toBinaryString(60);
        //toBinaryString()以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
        String str2 = Integer.toHexString(60);
        //toHexString() 以十六进制无符号整数形式返回 long 参数的字符串表示形式
        //toOctalString()以二进制无符号整数形式返回 long 参数的字符串表示形式

        System.out.println(str1);//111100
        System.out.println(str2);//3c
    }
}

3.写出输出结果

class Demo{
	public static void main(String[] args){
		int a=3,b=8;
		int c=(a>b)?a++:b++;
		System.out.println("a="+a+"\tb="+b+"\tc="+c); 
		int d=(a>b)?++a:++b;
		System.out.println("a="+a+"\tb="+b+"\td="+d); 
		int e=(a<b)?a++:b++;
		System.out.println("a="+a+"\tb="+b+"\te="+e); 
		int f=(a<b)?++a:++b;
		System.out.println("a="+a+"\tb="+b+"\tf="+f); 
	}
}
package test1;

public class Demo3 {
    public static void main(String[] args) {
//        3.写出输出结果
        int a = 3;
        int b = 8;
        int c = (a>b)?a++:b++;//c = b = 8
        System.out.println("a="+a+"\t b="+b+"\t c="+c);//a=3  b= b++ =9   c=8
        int d = (a>b)?++a:++b;
        System.out.println("a="+a+"\t b="+b+"\t d="+d);//a=3  b= ++b =10  d=10
        int e = (a<b)?a++:b++;//e = a = 3
        System.out.println("a="+a+"\t b="+b+"\t e="+e);//a= a++ =4  b=10  e=3
        int f = (a<b)?++a:++b;//f = ++a = 5
        System.out.println("a="+a+"\t b="+b+"\t f="+f);//a= ++a =5  b=10  f=5
    }
}

4.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

package test1;

public class Demo4 {
    public static void main(String[] args) {
//        4.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错
        short s1 = 1;
//        s1 = s1 + 1;//其中 s1 + 1 进行计算时,属于int类型(类型间的自动转换)
        s1 = (short)(s1+1);//要使式子成立,需要进行强转
        short s2 = 1;
        s2+=1;//s2+=1等同于s2=(short)(s2+1)	(可以正确编译)
        System.out.println(s1);//2
        System.out.println(s2);//2
    }
}

5.Java有没有goto

goto 是 Java 中的保留字,在目前版本的 Java 中没有使用

6.用最有效率的方法算出2乘以8等于几

2<<3

7.char型变量中能不能存储一个中文汉字?为什么?

可以,因为java中以unicode编码,一个char占2个字节,所以放一个中文是没问题的

8.float型float f=3.4是否正确?

不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4。或者书写成:float f=3.4f

9.String是最基本的数据类型吗?

不是,八大基本数据类型包括:byte、short、int、long;float、double;char;boolean。
String属于引用数据类型。

10.定义一个整型变量,输出该变量的值。
11. 定义一个单精度实型变量,输出该变量的值。
12. 定义一个双精度实型变量,输出该变量的值。
13. 定义一个字符型变量,以整型的形式再做输出。
14. 定义一个布尔类型的数据,输出其结果。
15. 求两个数的和。

17.定义一个字符,并将这个字符输出

package test1;

public class Demo10 {
    public static void main(String[] args) {

        //10.定义一个整型变量,输出该变量的值。
        int a = 1;
        System.out.println(a);

        //11. 定义一个单精度实型变量,输出该变量的值。
        float f = 2.1f;
        System.out.println(f);

        //12. 定义一个双精度实型变量,输出该变量的值。
        double d = 5.21;
        System.out.println(d);

        //13. 定义一个字符型变量,以整型的形式再做输出。
        char r = 'A';
        System.out.println((int) r);

        //14. 定义一个布尔类型的数据,输出其结果。
        boolean n = true;
        System.out.println(n);

        //15. 求两个数的和。
        int i = 3;
        int j = 4;
        System.out.println("两数之和:"+(i+j));
        
        //17.定义一个字符,并将这个字符输出
        char m = '梦';
        System.out.println(m);
    }
}

16.求圆的面积

package test1;

public class Demo16 {
    public static void main(String[] args) {
//        16.求圆的面积
        int r = 5;
        double pi = 3.14;
        double s = 0;
        s = r*r*pi;
        System.out.println(s);

        System.out.println(Math.PI*r*r);
    }
}

18.定义两个整型变量 a b ,求a+b a-b a%b a/b 的结果

package test1;

public class Demo18 {
    public static void main(String[] args) {
        //18.定义两个整型变量 a b ,求a+b	a-b	a%b	a/b 的结果
        int a =15;
        int b =4;

        System.out.println(a+b);//19
        System.out.println(a-b);//11
        System.out.println(a%b);//3
        System.out.println(a/b);//3
    }
}

19.编写程序,已知圆柱体的底面半径R,和高H,求圆柱体的体积

package test1;

public class Demo19 {
    public static void main(String[] args) {
        //19.编写程序,已知圆柱体的底面半径R,和高H,求圆柱体的体积 V=PI*r*r*h
        int R = 7;
        int H = 5;
        double V = Math.PI*R*R*H;
        System.out.println(V);
    }
}

20.求一个长方形的周长和面积

package test1;

public class Demo20 {
    public static void main(String[] args) {
        //20.求一个长方形的周长和面积
        int L = 8;
        int W = 5;
        int C = 2*(L+W);
        int S = L*W;

        System.out.println("长方形的周长为:"+ C);
        System.out.println("长方形的面积为:"+ S);
    }
}

21.求一个三角形的面积

package test1;

public class Demo21 {
    public static void main(String[] args) {
        //21.求一个三角形的面积
        int L = 7;
        int H = 9;
        double S = (double) (L*H)/2;

        System.out.println(S);
    }
}

22.设int a=9; 分别求出 a+=10 , a-=5, a*=8, a/=3的结果

package test1;

public class Demo22 {
    public static void main(String[] args) {
        //22.设int a=9; 分别求出 a+=10 , a-=5, a*=8, a/=3的结果
        int a = 9;
        a+=10;//a=a+10=19
        System.out.println(a);
        a-=5;//a=a-5=14
        System.out.println(a);
        a*=8;//a=a*8=112
        System.out.println(a);
        a/=3;//a=a/3=37
        System.out.println(a);
    }
}

23.设 int x=8, 分别求出 ++x 和 x++的结果

package test1;

public class Demo23 {
    public static void main(String[] args) {
        //23.设 int x=8,  分别求出 ++x  和 x++的结果
        int x = 8;
        int y = ++x;//先计算后赋值 y = 9
        int z = x++;//先赋值后计算 z = 9  此时的x=x+1=10
        System.out.println(x);//10
        System.out.println(y);//9
        System.out.println(z);//9
    }
}

24.设int a=9,b=9; 求出 System.out.print(a>b); 的结果

package test1;

public class Demo24 {
    public static void main(String[] args) {
        //24.设int a=9,b=9; 求出  System.out.print(a>b); 的结果
        int a = 9;
        int b = 9;
        System.out.println(a>b);//false
    }
}

25.定义一个大写字母,把它转换为小写字母后显示出来

package test1;

public class Demo25 {
    public static void main(String[] args) {
        //25.定义一个大写字母,把它转换为小写字母后显示出来。
        char A = 'A';
        System.out.println((char)(A+32));//A = 65,a = 97
    }
}

26.定义一个圆的半径,求圆的周长,圆的面积,圆球表面积,圆球的体积。输出结果时要求有文字说明,保留2位小数。

提示:设圆的半径为R ,则周长 =2*PI*R  面积 PI*r*r  圆球表面积 4*PI*r*r  圆球体积: 4/3*PI*r*r*r
package test1;

import java.text.DecimalFormat;

public class Demo26 {
    public static void main(String[] args) {
//        26.定义一个圆的半径,求圆的周长,圆的面积,圆球表面积,圆球的体积。输出结果时要求有文字说明,保留2位小数。
//        提示:设圆的半径为R ,则周长 =2*PI*R 面积 PI*r*r  圆球表面积 4*PI*r*r  圆球体积: 4/3*PI*r*r*r
        int R = 5;

        DecimalFormat df = new DecimalFormat("#.00");
        //使用使用DecimalFormat,#.00为保留两位小数
        double C = Double.parseDouble(df.format(Math.PI*R*2));
        double S = Double.parseDouble(df.format(Math.PI*R*R));
        double Sb = Double.parseDouble(df.format(Math.PI*R*R*4));
        //用Double.parseDouble()是把括号里面内容变成double类型的
        // 其中括号中的参数必须是String类型,否则转换会报错
        String V = df.format(Math.PI*R*R*R*4/3);

        System.out.println("圆的周长:"+C);
        System.out.println("圆的面积:"+S);
        System.out.println("圆球表面积:"+Sb);
        System.out.println("圆球的体积:"+V);

    }
}

28.定义三个数a=10,b=20,c=30 结果

    1     (a>=b)==(b==c)==(c<a)
    2	    (a!=b)==(a!=c)==(c==a)
    3     !(a>b)
package test1;

public class Demo28 {
    public static void main(String[] args) {
//        28.定义三个数a=10,b=20,c=30 结果
//        1     (a>=b)==(b==c)==(c<a)
//        2	    (a!=b)==(a!=c)==(c==a)
//        3     !(a>b)

        int a = 10;
        int b = 20;
        int c = 30;

        System.out.println((a>=b)==(b==c)==(c<a));//false
        System.out.println((a!=b)==(a!=c)==(c==a));//false
        System.out.println(!(a>b));//true
    }
}

29.设 int x=5, 计算 x*=x/=x+x 的结果

x*=x; x=25;
x/=x; x=5;
x+=x; x=10

30.设int m=9,n;分别计算n=++m和n=m++后,m和n的结果是多少?

package test1;

public class Demo30 {
    public static void main(String[] args) {
        //30.设int m=9,n;分别计算n=++m和n=m++后,m和n的结果是多少?
        int m = 9;
        int n;

        n = ++m;
        System.out.println(m);//10
        System.out.println(n);//10

        n = m++;
        System.out.println(m);//11
        System.out.println(n);//10
    }
}

31.设boolean m;int a=1,b=3,c=9;则计算
m=(a>b)&&(b<c);
m=((a>=b)&&(b==c)||(c<a));

package test1;

public class Demo31 {
    public static void main(String[] args) {
        //31.设boolean m;int a=1,b=3,c=9;则计算
        //  m=(a>b)&&(b<c);
        //  m=((a>=b)&&(b==c)||(c<a));
        boolean m;
        int a = 1;
        int b = 2;
        int c = 9;

        m=(a>b)&&(b<c);
        System.out.println("结果为:"+m);//false

        m=((a>=b)&&(b==c)||(c<a));
        System.out.println("结果为:"+m);//false
    }
}

32.设int a=5,b=9计算按位与 a&b 的值和按位或 a|b 的值,以及 a^b 的值
链接:按位与、或、非运算方法

package test1;

public class Demo32 {
    public static void main(String[] args) {
        //32.设int a=5,b=9计算按位与 a&b 的值和按位或 a|b 的值,以及 a^b 的值
        int a = 5;
        int b = 9;
        System.out.println(a&b);//1
        System.out.println(a|b);//13
        System.out.println(a^b);//12
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Camiage

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值