java 复习1

1.Java有一种表示逻辑值的简单类型,称为布尔型。

布类型代表逻辑中的成立和不成立。Java语言中使用关键字true代表成立,false代表不成立。布尔型数据只有这两个值,且它们不对应于任何整数值,在流控制中常用到它。

2.在Java中,关系条件成立时以boolean类型的值true表示,不成立时以值false表示,而不是 C或C++中的1或0。Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过==或 !=来比较是否相等(这与C、C++不同)。

3. 

.左移位运算符 
     1 左移位运算符,用符号“<<”表示。它是将运算符左边的对象向左移运动运算符右边指定的位数(在低位补0)。

   2.“有符号”右移运算符 
   “有符号”右移运算符,用符号“>>”表示。它是将运算符左边的运算对象向右移动运算符右侧指定的位数。它使用了“符号扩展”机制,也就是说,如果值为正,在高位补0,若为负,则在高位补1。
 3. “无符号”右移运算符
     “无符号”右移运算符,用符号“>>>”表示。它同“有符号”右移运算符的移动规则是一样的,惟一的区别就是:“无符号”右移运算符,它采用了“零扩展”,也就是说,无论值为正负,都在高位补0。

4.条件运算符
(1) 条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符。
(2) 条件表达式允许嵌套,即允许条件表达式中的表达式2和表达式3又是一个条件表达式。例如:
x>0?1:x<0?-1:0等价于 x>0?1:(x<0?-1:0)
(3) 表达式1,表达式2,表达式3的类型可以不同。此时条件表达式的值的类型为它们中较高的类型。

【例3.20】 上楼梯问题,设有共有n级楼梯,某人每步可走1级,也可走2级,也可走3级,求从底层开始走完全部楼梯的走法共有多少种? 分析:当n=1时,走法x=1; 当n=2时,走法x=2; 当n=3时,走法x=4(1,1,1模式,1,2模式,2,1模式和3模式);依次顺推发现后续当层级增加一级时,走法时前三级的走法之和,问题由复杂变简单了

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
      int x=0,n,f1=1,f2=2,f3=4;
      Scanner in=new Scanner(System.in);
      System.out.println("请输入楼层的级数 :"); 
      n=in.nextInt();
      if(n==1)x=f1;
      else if(n==2) x=f2;
      else if (n==3) x=f3;
      for(int i=4;i<=n;i++)
      {x=f1+f2+f3;
      f1=f2;//依次顺推发现后续当层级增加一级时,走法时前三级的走法之和
      f2=f3;//依次顺推发现后续当层级增加一级时,走法时前三级的走法之和
      f3=x; }
     System.out.println("输入的楼层级数:n="+n);
     System.out.println("根据走法规则 ,得到的走法总数为:x="+x); 
    }
    }

阶乘

public class Main {
      public static void main(String[] args) {
             int n;    
             Scanner s = new Scanner(System.in);   
             System.out.print( "请输入一个整数: ");  
             n = s.nextInt();  
             JieCheng a=new JieCheng();
             System.out.println(n+"!="+a.cheng(n)); }
        }
            
        class JieCheng{  
              public long cheng(int n){  
                long i=0;  
                if(n==0||n==1)      i=1;   
                else i=n*cheng(n-1);  
                  return i;  
        }

    }
杨辉三角!

public class Main {
    public static void main(String[] args) {
           int[][]a=new int[10][10];
           for(int i=0;i<10;i++){
              a[i][i]=1;
              a[i][0]=1;
            }
       for(int i=2;i<10;i++){
           for(int j=1;j<i;j++){
       a[i][j]=a[i-1][j-1]+a[i-1][j];
        }
        }
        for(int i=0;i<10;i++){
              System.out.print("  ");
       for(int m=0;m<2*(10-i);m++){
           System.out.print("  ");}
           for(int j=0;j<=i;j++) {
           System.out.print(a[i][j]+"      "); 
           }
          System.out.println(  );
           }
        }
    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值