java 学习第二期

一,简答题

1.Java数据类型分几大类?,基本类型有哪些?

两大类:基本类型和引用类型。

基本类型分为整数类型(byte,short,int,long),浮点类型(float,double),字符类型(char)和布尔类型(boolean)。

2.基本数据类型转换规则是什么?

分为默认转换和强制类型转换。

默认转换:小范围默认转换为大范围,(byte,short,char,)-->int-->long-->float-->double(其中byte,short,char之间不可相互转换)

强制类型转换:将大范围数据类型转换为小范围数据类型,但可能会发生数据溢出,精度降低;

计算混合类型时,系统自动转换为最大类型。

3.常用的运算符有哪几大类,分别是什么?

六大类运算符,算数运算符,比较运算符,赋值运算符,逻辑运算符,条件运算符,位运算符。

4.“+” 运算符有哪几种用法,需要注意什么?

可以进行加法运算和字符串连接,在连接字符串时,字符串要加上双引号

5.“++”运算符在使用时需要注意什么?

例如:a++应先运算再自加,++a应先自加再运算。

6.& 与 && 的区别?

用&时,无论左是真是假都要对右边进行判断;用&&时,左边是假ze右边不再判断,左边是真那么再对右边进行判断。

二,看程序,写结果

  1. int i = 1; i += ++i; i最终的值是多少

    答:i=3

    2.int i = 1; boolean b = !(i++ == 3) && (i++==3); System.out.println(b); System.out.println(i); 输出结果?

    答:false;i=3

    3.int i = 1; int j = ++i + i++ + ++i + ++i + i++; 问 j最终的结果是多少?i最终的值多少?

    答:j=18;i=6

    4.int x = 4; int y =x++ + ++x + x*10; y的值?

    答:y=70;

    5.int a = 10, b = 10, c = 10; boolean result = a++ == 10 && b-- == 10 || ++c == 10; 结果? result=true a=11 b=9 c=11

6.运算符问题,下面代码分别输出什么? public static void main(String[] args) { int i1 = 10, i2 = 10; System.out.println("i1 + i2 = " + i1 + i2); System.out.println("i1 - i2 = " + i1 - i2); System.out.println("i1 * i2 = " + i1 * i2); System.out.println("i1 / i2 = " + i1 / i2); }

i1 + i2 = 20;

i1 - i2 = 0;

i1 * i2 = 100; i1 / i2 = 1;

7.class Test{ public static void main (String [] args) { short a,b,C; a=1; b=2; C=a+b; a += 2; } } 以上代码中,哪一句是错误的?

C=a+b;a+b的计算结果默认为int型,应写为(short)(a+b)

8. class Test4 { public static void main (String [] args) { boolean x=true; boolean y=false; short z=42; if((z++==42)&&(y=true)) z++; if((x=false)||(++z==45)) System.out.println(”z=”+z); } } 输出结果: z=45

9. class TestApp{ public static void main (String[] args){ for (int i=0; i<10;i++){ if(i==3){ break; } System.out.print (i); } } } 输出结果: 012

10. class Test{ public static void main (String[] args){ boolean state=false; int i=2; if((++i>2)&&(state=true)) i++; if((++i>4)||(state=false)) i++; System.out .println (i); } } 输出结果: 6

11. class WhileTests{ public static void main (String [] args) { int x=5; while(++x<4) { --x; } System.out.println( "x="+x); } } 输出结果: x= 6

12.下面程序运行的结果正确的是: 0 public class Demo{ public static void main (String args[]) { int num=0; for (int i=0;i<100;i++) { num=num++; } System.out.println("num="+num); } }

num=0

13.编译运行以下程序后,输出结果是( ) public class Demo{ public static void main (String args[]) { int x=4; double r = ((x>4) ? 99.9:9); System.out.println(r); } }

9.0

14.下面的程序编译运行的结果是: public class Demo{ public static void main (String args[]) { int c; System. out. println(c); System. out. println(c++); System. out. println(c); } }

0

0

1

15.下面程序运行的结果正确的是: public class Demo{ public static void main (String args[]) { int n = 100; int m = 20; if (m++ <= 20 || n == n++) System.out.println(n); System.out.println(m); } }

100

21

16.给定如下java代码,编译运行之后结果是: class Demo{ public static void main(String args[]) { for (int i=0;i<3; i++) { System.out.print(i); } System. out. print (i); } }

0

1

2

3

编程.编程题

1.判断某一年是否为闰年

通过Scanner 输入一个年份,然后判断概念是否是闰年 闰年判断标准(满足任何一个) 1.如果能够被4整除&&但是不能被100整除

  1. 能够被400整除

    package feifan;
    import java.util.Scanner;
    public class H1 {    
    public static void main(String args[]) {        Scanner sc = new Scanner(System.in);        
    int year = sc.nextInt();        if((year%4==0&&year%100!=0)||year%400==0){            System.out.println("此年是闰年");        
    }else{           
    System.out.println("此年不是闰年");        
    }    
    }
    }

2.根据指定月份,打印该月份所属的季节,3,4,5春季 678夏季 9 10 11秋季 12 ,1,2 冬季

package feifan;
import java.util.Scanner;public class H1 {   
public static void main(String args[]) {        Scanner sc = new Scanner(System.in);        
int month = sc.nextInt();        
switch (month){            
case 3:            
case 4:            
case 5:                
System.out.println("此月是春季");               
break;            
case 6:            
case 7:            
case 8:                
System.out.println("此月是夏季");                
break;            
case 9:            
case 10:            
case 11:                
System.out.println("此月是秋季");                
break;            
case 12:            
case 1:            
case 2:                
System.out.println("此月是冬季");                
break;        
}}}

3.我家的狗5岁了,5岁的狗相当于人的多大呢?,其实狗的前两年,每一年相当于人的10.5岁,之后每增加一岁就增加4岁,

那么5岁的狗相当于人的年龄就应该是10.5+10.5+4+4+4=33岁. 编写程序获取用户输入狗的年龄(整数),通过程序输出显示相当于人的年龄.如果为负数请提示.

package feifan;
import java.util.Scanner;
public class H1 {    
public static void main(String args[]) {        Scanner sc = new Scanner(System.in);        
int age = sc.nextInt();        
if(age<0){            
System.out.println("输入年龄有误");        
}        
else if (age>0&&age<=2){            System.out.println("小狗今年"+age*10.5+"岁");        
}        
else if(age>2){            
System.out.println("小狗今年"+(2*10.5+(age-2)*4)+"岁");  }}}

4.一直青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出.

写程序实现.

public class H1 {   
public static void main(String args[]) {        Scanner sc = new Scanner(System.in);        
int d ;        
int h=11,h1=3,h2=2;       
d = h/(h1-h2);       
System.out.println(d);    }}

5.输出奇数100以内最大的5个奇数

public class H1 {    
public static void main(String args[]) {       
int num=0;        
for (int i = 0; i < 100; i++) {            
if(i%2==1){                
num++;                
if(num>45){                    
System.out.println(i);}}}}}

6.有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?

public class H1 {        
public static void main(String[] args) {            int sum = 0;            
for (int i = 100; i <= 999; i++) {                
int ge = i%10;                
int shi = i/10%10;                
int bai = i/100%100;                
if (ge <= 4 & shi <= 4 & bai <= 4 & ge >= 1 & shi >= 1 & bai >=1) {                   
if (ge != shi & ge != bai & shi != bai) {              System.out.println(i);                        
sum++;}}}            
System.out.println("能组成" + sum + "个不同且无重读数字的三位数"); }}

7.编程一个程序,计算今天是今年的第几天.

例如: 输入年 2022 输入月 10 输入天 30

public class H1 {

public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入年份"); int year=sc.nextInt(); System.out.println("请输入月"); int month=sc.nextInt(); System.out.println("请输入日"); int day=sc.nextInt(); int a=0;

    switch (month-1){
        case 12:
            a+=31;
        case 11:
            a+=30;
        case 10:
            a+=31;
        case 9:
            a+=30;
        case 8:
            a+=31;
        case 7:
            a+=31;
        case 6:
            a+=30;
        case 5:
            a+=31;
        case 4:
            a+=30;
        case 3:
            a+=31;
        case 2:
            if (a%4==0&&a%100!=0||a%400==0)
                a+=29;
            else
                a+=28;
        case 1:
            a+=31;
    }
    a+=day;
    System.out.println("今天"+year+"年"+month+"月"+day+"日是今天的第"+a+"天");
}
}

8.猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,

就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃 前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共 摘下来多少个桃子?

public class H1 {    
public static void main(String[] args) {        
int n=1;        
for (int i=1;i<=9;i++){             
n=(n+1)*2;        }        
System.out.println("第一天一共摘下来"+n+"个桃子");    }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值