java 数据类型,运算符 分支语句 面试知识点总结与习题

来源:互联网 发布:大学生网络理财产品 编辑:程序博客网 时间:2024/06/05 21:56
一,数据类型
    1,基本数据类型有哪几个,每个占多少位?
    2,分别用8种基本类型定义一个变量?
    3,阐述标识符的命名规则?(四点)
       a,只能是字母,数字,下划线,和$
       b,数字不能开头
       c,见名知意
       d,不能是关键字
二,运算符
       算数运算符:+(加)  -(减)  *(乘)  /(除)   %(取余数)---(算数运算符分别举例测试)
       逻辑运算符:&(与)  |(或)   !(非)    ^(异或)    &&(短路与)    ||(短路或)--(列表格分别测试,我上课时候列的表格)
       比较运算符:==   !=  >   >=    <   <=
       单操作运算符(一个操作数):++   --  (分别测试++和--放在变量前后的效果)
       位运算符:>>(有符号右移)      <<(有符号左移)       >>>(无符号右移)  (了解就行)
       三目运算符:表达式?值1:值2   (自己举例测试,重要)
三,分支语句
    1,if(表达式){    }else{       }
    2,if(表达式){    }else if(表达式){     }else  if(表达式){        }...else{      }
    3,定义变量,并且给初始值
       switch(变量){//byte  short  int  char
          case 值1:{


             break;
          }
          case 值2:{


             break;
          }
          case 值3:{


             break;
          }
          .........
          default:{
            
             break;
          }


       } 
   
      练习:1,定义一个变量a,若a的值大于0则输出“正数”,
               其他情况输出“非正数”
            2,定义一个布尔类型的变量b,若b为真,则输出
              “真的”,否则输出“假的”
            3,成绩为90-100之间输出“优”,70-90输出“良”,
               60-70输出“及格”,0-60输出“不及格”,
               其他情况输出“非人类”
            4,定义float类型变量表示降雨量,
               若降雨量大于100ml则输出“暴雨”,
               50-100ml输出“大雨”,10-50ml输出“中雨”,
               0-10输出“小雨”,其余情况“没雨”
            5,定义int类型变量,若变量值为1 输出“男”,
               若值为2 输出“女”,若值为3 输出“女博士”,
               其他情况输出“未知”
            6,编写一个Java应用程序。用户从键盘输入一个
               1—9999之间的数,程序将判断这个数是几
               位数,并判断这个数是否是回文数。
               回文数是指将该数含有的数字逆序排列后得
               到的数和原数
               相同,例如12121、3223都是回文数。
四,循环语句
     1,for(初始值;终止条件;增量){




        }
        
     2, 初始值;
        while(终止条件){


           增量;
        }


     3,初始值;
        do{
 


             增量;
         }while(终止条件);(注意这个分号,别落下)


     练习:1,打印下列图形


              *
              **
              ***
              ****
              *****
        ----------分割线-------------------
              *****
              ****
              ***
              ** 
              *
        ----------分割线-------------------


              *****
               ****
                ***
                 **
                  *
         ----------分割线-------------------
                   *
                  **
                 ***
                ****
               *****
  
         ----------分割线-------------------


                   *
                  ***
                 *****
                *******
               *********


          ----------分割线-------------------
 
              *********
               *******
                *****
                 ***
                  *


          ----------分割线-------------------


                   *
                  ***
                 *****
                *******
                 *****
                  ***
                   *


          ----------分割线-------------------


                   *
                  * *
                 *   *
                *     *
                 *   *
                  * *
                   *


        2,打印九九乘法表
        3,求下列试子的值:1-1/2+1/3-1/4+1/5-1/6+......+1/99-1/100,并将结果输出
        4,一小和尚挑水,要把水缸装满,而且每次只能挑5升水,水缸能容纳80升水。
          问:小和尚要挑几次才能把水缸挑满?
        5,写一个程序判断-100到100的数是正负奇数还是正负偶数
        6,用while实现6的阶乘
        7,用do...while实现6的阶乘
        8,用for实现6的阶乘
       *9,编写程序解决百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,
           百钱买百鸡,求买鸡翁、鸡母、鸡雏各几何?
五,数组
     1,数组的定义(共三种方式)
    (1)type[] 变量名 = new type[数组中元素的个数];


       比如:int[] a = new int[6];
  
   (2)type变量名[] = new type[数组中元素的个数];


       比如:int a[] = new int[6];


    (3)type[] 变量名 = new type[]{逗号分隔的初始化值};


        其中new type[]部分可省略,所以又有两种:


        int[] a = {1,2,3,4};


        int[] a = new int[]{1,2,3,4};//后面方括号中不能加上数组长度 


     2,数组的赋值(两种方式)
     
      (1)定义数组时直接在等号后面赋值
           比如:int[] a = {1,2,3,4};
      (2)利用下标(索引)的方式赋值
           比如:int[] a = new int[3]; 
                 a[0] = 1;
                 a[1] = 2;
                 a[2] = 3;
    练习:分别用四种方式定义下面数组,并分别用以上两种方式赋值
     {7,5,8,2,4,9,0,9}
     {'a','哈','嘻','嘿','呵','2','f'}
     {“李文斌”,“李元童”,“刘耀华”,“孙东正”,“徐志鹏”,“白路”}


    3,数组中元素交换位置


       例如:交换数组int[] a = {1,2,3,4};下标0和3的元素的位置


             int b = a[0];
             a[0] = a[3];
             a[3] = a[0];


    4,数组的长度  int[] a = {1,3,2};   a.length的结果是3;


    5,对数组遍历输出for(int i=0;i<a.length;i++){System.out.print(a[i]);}


    6,数组相等的判定equals()


    7,数组的排序(介绍四种)


       //冒泡排序算法
public static int[] bubbleSort(int[] args){
        for(int i=0;i<args.length-1;i++){
                for(int j=i+1;j<args.length;j++){
                        if (args[i]>args[j]){
                                int temp=args[i];
                                args[i]=args[j];
                                args[j]=temp;
                        }
                }
        }
        return args;
     }
       //选择排序算法--假定下标为0的数最小
public static int[] selectSort(int[] args){
        for (int i=0;i<args.length-1 ;i++ ){
                int min=i;
                for (int j=i+1;j<args.length ;j++ ){
                        if (args[min]>args[j]){
                                min=j;
                        }
                }
                if (min!=i){
                int temp=args[i];
                args[i]=args[min];
                args[min]=temp;        
                }
        }
        return args;
}
      //插入排序算法
public static int[] insertSort(int[] args){
        for(int i=1;i<args.length;i++){
                for(int j=i;j>0;j--){
                        if (args[j]<args[j-1]){
                                int temp=args[j-1];
                                args[j-1]=args[j];
                                args[j]=temp;        
                        }else break;
                }
        }
        return args;
}
      //排序方法快速排序
public static int[] fastSort(int[] args){
Arrays.sort(args);
return args;
}
            


   扩展:1,数组在内存中的存储状态
         2,Arrays.sort()方法的底层代码(了解)
         3,判定给定元素是否在数组中
         4,数组的扩容
         5,增强for循环


     练习:1. 自定义一个整数数组,计算一个整数数组的平均值
           2. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果
              不存在,则输出-1。
           3. 给定一个数组,输出数组中的最大值和最小值
           4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。
           5. *数组的扩容。
           6. *数组的插入和删除
           7,*去除数组中重复元素
           8,二维数组的定义,赋值,读取
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 放疗定位线掉了怎么办 被网络平台骗了怎么办 手机重力传感器坏了怎么办 锤子手机重力传感器坏了怎么办 平板电脑没有开关键怎么办 手机重力感应器坏了怎么办 苹果手机重力感应器坏了怎么办 苹果手机陀螺仪坏了怎么办 狗狗的爪子肿了怎么办 压缩文件之后显示拒绝访问怎么办 压缩文件解压后全散开了怎么办 dnf助手改名字用完了怎么办 缅甸 佤邦 办中国护照 怎么办? 电脑玩游戏网络延迟大怎么办 qq好友空间锁了怎么办 卡盟进货额不足怎么办 被朋友骗了钱怎么办 联通在学校网差怎么办 前夫把我微信拉黑 孩子的事怎么办 微信好友验证疑似被盗怎么办 我的世界被banip怎么办 dnf深渊宝珠出了怎么办 吞噬魔4个球吃了怎么办 dnf没有支援兵了怎么办 家里没通天然气怎么办 苹果6p16g不够用怎么办 魅蓝手机内存不够用怎么办 3dmax灯光全黑怎么办 高压15o低压1oo怎么办 源码一位乘法中c怎么办 怀孕搬了重东西怎么办 深蹲力量不涨怎么办 ps4连接显示器分辨率低怎么办 大疆失去链接后怎么办 脑袋被锤了几拳怎么办 华为手机变板砖怎么办 电脑网页打开很慢怎么办 网页加载速度太慢.怎么办 cad字显示不出来怎么办 dell笔记本打不开机怎么办 手机系统界面已停止运行怎么办