Java基础知识
1.类型转换示例
关于代码short s = 1;s = s + 1;和short s = 1;s+=1;有什么区别吗?为什么?
答:1)short s = 1; s = s + 1; 编译失败。因为s在运算时发生自动类型转换为int型,加1后运算结果是int型,int型数据不能直接赋值给低级别的short类型。此处应作强制类型转换后赋值,但应注意强制类型转换后会发生精度丢失。
正确代码为:第一种改法:short s=1;s=(short)(s+1);
第二种改法:short s=1;s=s+(short)1;
2)short s = 1; s+=1;编译成功。s结果为2. +=符号在赋值时,会自动完成强制类型转换操作。
2.变量位置互换示例
对两个整数变量的值进行互换。
提示:
第一种:使用第三方变量
第二种:不需要第三方变量,可参考异或运输符的特点。
代码如下:
第一种方法:
class Operator { public static void main(String[] args) { int a=99; int b=47; int temp; //定义临时变量 System.out.println("a="+a+" b="+b); temp=a; //赋值,开始互换位置 a=b; b=temp; System.out.println("a="+a+" b="+b); } }
第二种方法:
class Operator { public static void main(String[] args) { int a=99; int b=47; System.out.println("a="+a+" b="+b); //原来的值 //一个实数异或同一个数两次(或者偶数次)等于原来的本身数值。 a=a^b; b=a^b; a=a^b; System.out.println("a="+a+" b="+b);//互换值后的结果 } }
3.选择结构示例
使用键盘录入完成:一年中有12个月,每3个月一个季度,请根据给定的月份,输出对应的季节
春:3,4,5
夏:6,7,8
秋:9,10,11
冬:12,1,2
代码如下:
import java.util.Scanner; //调用Scanner类,实现键盘录入 class Operator { public static void main(String[] args) { Scanner input=new Scanner(System.in); //创建Scanner类对象 System.out.println("请您输入一个月份:"); //将用户在键盘录入的值赋值给一个整型变量,存储至month int month=input.nextInt(); String read=null; //定义一个字符串变量 //根据switch特点,实现题目要求 switch(month){ case 3: case 4: case 5: read="春季"; break; case 6: case 7: case 8: read="夏季"; break; case 9: case 10: case 11: read="秋季"; break; case 12: case 1: case 2: read="冬季"; break; default: System.out.println("您所输入的月份有误!!!"); break;/*此处的break可省略,但若default不在条件语句的结尾处,则不能省略。*/ } if(month<=12 && month>0) System.out.println("您所输入的月份是"+month+"月,所对应的季节是:"+read); } }
4.for循环示例——正三角形
用代码实现一个正三角形:
class ForTest1 { public static void main(String[] args) { /*用代码实现下面的图形 * * * * * * * * * * * * * * * */ for(int x=1;x<=5;x++) //外循环控制行数 { for(int y=x;y<=5;y++) //内循环控制每一列,输出空白的倒三角形 { System.out.print(" "); } for(int y=1;y<=x;y++)//内循环控制每一列,输出正三角形 { System.out.print("* "); } System.out.println(); } } }