• 基础知识 +考试


    Java简介:

    Java的三个阶段

    1.完善期:JDK1.0(1995)~1.2(1998)   2.平稳期:1.3~1.4   3.发展期:1.5(2005)~1.7

    在开发上分为:Java SE、EE、ME

    J2SE:数据库、接口定义、输入输出、网络编程

    J2EE:企业、银行、电信系统

    J2ME:电子软件的开发、只能卡、手机、机顶盒

    编程语言角度:两种

    1.编译型:.exe 文件 用户使用

    2.解释型:在服务器进行解释执行,后缀 “*.Java”,运行前会在虚拟机先编译:生成“.class”

    安装:

    抽象、接口类之前用EditPlus编辑代码,之后用eclipse开发工具

    JRE(Java Runtime Environment ):Java运行环境 包括Java虚拟机(JVM Java Virtual Machine)和核心类库

    JDK 开发工具包  包含了JRE 。编译(javac.exe)打包(jar.exe)

    安装jdk 用dos进java的bin目录

    dir:目录

    md:创建文件夹

    rd:删除文件夹

    cd:进入指定文件夹

    cd..:上一级

    cd:回根目录

    exit:退出

    环境变量:

    “JAVA_HOME”:JDK的路径

    “CLASSPATH”CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar

     Path:%JAVA_HOME%in               %JAVA_HOME%jrein

    Java语法:

     标识符:由字母、数字、_、$组成,不能以数字开头、不能是关键字

    变量:

     存储单元:

    存储最小信息单元叫 “位(bit)”:  小写b表示

    最小存储单元 “字节(byte)“:大写B    1个字节是8个位   最大值   99999999

    存储单位:1B=8bit    1KB=1024B        1MB=1024KB  1GB=1024M   1TB=1024GB   1PB=1024TB

    基础类型:4类8种

    整型:byte(-128~127)  short int long

    浮点:float (常量必须+F)  double(默认)

    字符:char

    布尔型:boolean 

    定义变量:格式

    数据类型   变量名  =  数据值;

    int               a         =100;

    注意事项

    变量定义后可以不赋值,使用时再赋值,不赋值不能用

    public static void main(String[] args) {
    int x;
    x = 20; //为x赋值20
    System.out.println(x);//读取x变量中的值,再打印
    }

    变量使用时有作用域限制

    public static void main(String[] args) {
    int x = 20;
    {
        int y = 20;
    }
    System.out.println(x);//读取x变量中的值,再打印
    System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量
    }

    不可以重复定义

    public static void main(String[] args){
          int x = 10;
          double x = 5.5;//编译失败,变量重复定义
    }

     数据类型转换 :小~大  

    byte -> short -> int -> long -> float -> double

    自动转换:小转大 

    范围大的数据类型 变量 = 范围小的数据类型值;

    强制转换:大转小 

    范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;

    运算符:

     算术运算符

     + - * / %:取模  ++:自增  --:自减

    注意:运算符连接字符串,成为字符串

    除法 / 两边为整数,取整,舍余。一边有浮点型时,正常规则相除

    %:整数取余

    整数做被除数,0不能做除数。不然报错

    运算符  ++ 、-- 使用

    a++(a--):运算符后置时,原有值参与运算,完成后自+-1

    ++a(--a):运算符前置,先自+-,在赋值

    赋值运算

    += -= *= /= %=:运算符作用,将等号左右两边计算,将结果自动强转成等号左边数据类型,在赋值给左边

    注意:赋值运算符左边必须是  变量

    public class OperatorDemo2 {
        public static void main(String[] args) {
            byte x = 10;
            x += 20;// 相当于 x = (byte)(x+20);
            System.out.println(x);
        }
    }

    比较运算符

    注意:

    赋值运算符“=” 与比较运算符 “==”  符号有区别

    赋值= 将 =右边的值赋给左边的变量

    比较运算符 ==   判断  左右变量是否相等

    逻辑运算符

    逻辑运算通常连接两个表达式 计算后  布尔值结果

    短路与 or短路或,只要判断出结果,后备部分不再判断

    boolean b = 100>10;
    boolean b2 = false;
    System.out.println(b&&b2); // 打印结果为 false
    System.out.println(b||b2); //打印结果为 true
    System.out.println(!b2); //打印结果为 true
    System.out.println(b && 100>10); //打印结果为 true,本行结果的计算方式稍后讲解运算符优先级时解答

    运算结果规律:

    短路与 &&:有false,结果就是false

    短路或  ||:有true,结果就是 true

    逻辑非!:原先是true 则变  false,反之!!!!

     三元运算符:

    格式:(条件表达式)?  表达式1:表达式2;   运算规则:先判断条件表达式,若是true ,结果为表达式1 。若为false,结果为表达式2.

    引用数据类型:

    流程控制语句:

    流程控制Switch:

    数组:

    方法:

    引用数据类型(类)

    ArrayList集合:

     

    import java.util.Scanner;
    class Demo01 
    {
        public static void main(String[] args) 
        {
            /*让用户输入自己的成绩,我们对他的考试成绩进行等级的划分,
            如果分数大于80分等级为优,否则,
            如果分数大于70分等级为优,否则,
            如果分数大于60分等级为优,否则,
            等级为差*/
            /*Scanner sc=new Scanner(System.in);
            System.out.println("请输入你的考试成绩:");
            Double score=sc.nextDouble();
            if(score >80&&score<=100){
                System.out.println("你的成绩为优秀");
            }else if(score>70&&score<=80){
                System.out.println("你的成绩为良好");
            }else if(score>60&&score<=70){
                System.out.println("你的成绩为中");
            }else if(score>=0&&score<=60){
                System.out.println("你的成绩为差");
            }else{
                System.out.println("你输入的有误,请重新输入");
                }
            {
            }*/
            //switch循环是准确值  if循环是范围性
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入一个整数(1-7):");
            int week=sc.nextInt();
            switch (week) 
            {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作日");
                break;
            case 6:
            case 7:
                System.out.println("休息日");
                break;
            default:
                System.out.println("您的输入有误,请重新输入");
                break;//default 可以放到任何一句,加与不加都可以,只有当case条件不满足时 才会走它
            }
        }
    }
    class Demo02 
    {
        public static void main(String[] args) 
        {
            /*打印1-100
            //用while表达式
            int i=5;
            while(i<=100){
                System.out.println(i);
                i++;
            }*/
            //do while表达
            /*int i=1;
            do{
                System.out.println(i);
                i++;
            }while(i>=100);*/
            //for循环
            /*for(int i=1;i<=100;i=i++){
                System.out.println(i);
            }
            //for循环 都是偶数
            for(int i=0;i<=100;i=i+2){
                System.out.println(i);
            }*/
            //死循环
            /*int i = 0;
            while(true){
                System.out.println(i);
                i++;
                if(i>5){
                    //break;
                    continue;//结束本次 进入下次循环  永远循环下去
                }
            }*/
            //for循环 
            /*for(int i=0;i<10;i++){
                
                if(i==4){
                    continue;
                }
                System.out.println(i);
            }*/
            //99乘法表 外层控制行 内层控制列
            /*for(int i=1;i<=9;i++){
                for(int j=1;j<=i;j++){
                    System.out.print(j+"*"+i+"="+j*i+"  ");
                }
                System.out.println();
            }*/
            //四行四列
            /*a:for(int i=1;i<=4;i++){
                for(int j=1;j<=4;j++){
                    System.out.print("*");
                    if(i==3){
                        break a;//a是标记 可以结束外层循环
                    }
                }
                System.out.println();
            }*/
            /*1.创建一个一维数组
            int [] arr=new int [5];
            arr[0]=1;
            arr[1]=8;
            arr[2]=9;
            System.out.println(arr[0]);
            System.out.println(arr[1]);
            System.out.println(arr[2]);
            System.out.println(arr[3]);
            //获取数组长度
            System.out.println(arr.length);
            for(int i=0;i<arr.length;i++){
                System.out.println(arr[i]);
            }*/
            //2.定义数组格式
            /*String[] arr=new String[]{"a","b","中国"};
            //遍历
            for(int i=0;i<arr.length;i++){
                System.out.println(arr[i]);
            }*/
            //3.定义方式
            double[] arr2={1.1,1.2,1.3,5.5};
            //遍历
            for(int i=0;i<arr2.length;i++){
                System.out.println(arr2[i]);
            }
        }
    }

     考试

    甲骨文人才实训基地Java二阶段测验
    姓名___战森___________              成绩________100_________________
    
    1.    请写出标识符的定义规定。
    标识符不能以数字开头 不能用关键字
    可以用字母 数字 $ 下划线组成
    
    2.    判断下面标识符是否表示正确:
    1yyy_o    (错误)
    Demo02    (正确)
    Abc$2    (正确)
    Class    (正确)
    Text!p    (错误)
    3.    请计算一下50MB是多少bit?
    50mb=50*1024*1024*8=419430400bit
    
    4.    请写出八种基本数据类型
    byte short int long char boolean  double float
    
    
    5.    请写出你所知道的引用数据类型
    
    String  Scanner  数组  集合
    
    6.    编写程序求 1+3+5+7+……+99 的和值
    public static void main(String[] args) {        
            int sum = 0;
            for(int i = 1; i < 100; i = i+2) {
            sum = sum + i;
            }
            System.out.println(sum);
        }
    //结果为2500
    
    7.    输出所有的水仙花数,所谓水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5
    for (int i = 100; i < 1000; i++) {
                int b = i / 100;
                int s = (i - 100 * b) / 10;
                int g = (i - s * 10 - b * 100);
                if (i == g * g * g + s * s * s + b * b * b) {
                    System.out.print(i + " ");
                }
            }
    //输出结果为153 370 371 407 
    
    8.    利用for循环打印 9*9for (int i = 1; i <= 9; i++) {
                for (int j = 1; j <= i; j++) {
                    System.out.print(i+"*"+j+"="+j*i+"    ");
                }
                System.out.println();
            }
    
    9.    定义打印数组元素方法,按照给定的格式打印[11, 33, 44, 22, 55]
    int[] arr = { 11, 33, 44, 22, 55 };
    System.out.print("[");
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    System.out.println(arr[i] + "]");
                } else {
                    System.out.print(arr[i] + ", ");
                }
            }
    
    10.    现有一个数组arr[6,9,4,6,2,5,8],请逆序输出数组元素
    
    int [] arr={6,9,4,6,2,5,8};        
            for(int i =arr.length-1;i>=0;i--){
                System.out.println(arr[i]);    
            }
    11.    switch语句中的表达式中可以是什么类型的值,可以是String类型的吗?
    byte  short  int  char  枚举  String
    可以是String类型
    
    12.    在循环语句中break和continue的区别是什么?
    Break 作用是跳出循环语句
    continue的作用是终止本次循环,执行下一次循环
    
    13.二维数组遍历获取到每一个值
        int[][] intArr = {{12,3,8},{11,8,32,7},{13,44,55}};
    for(int i =0 ;i<intArr.length;i++){
                for(int j=0;j<intArr[i].length;j++){
                    System.out.println(intArr[i][j]);
                }
            }
    14.公司年销售额求和
            某公司按照季度和月份统计的数据如下:单位(万元)
            第一季度:22,66,44
            第二季度:77,33,88
            第三季度:25,45,65
            第四季度:11,66,99
    int[][] arr = { { 22, 66, 44 }, { 77, 33, 88 }, { 25, 45, 65 }, { 11, 66, 99 } };
    int sum = 0;
            for (int x = 0; x < arr.length; x++) {
                for (int y = 0; y < arr[x].length; y++) {
                    sum += arr[x][y];
                }
            }
            System.out.println(sum);
    //结果为641
    15.    什么叫方法重载?
    
    在同一个类中 ,定义的方法名相同并且 参数个数或类型或、顺序不同
    16.以下选项错误的是?ABCFG
        A.获取数组的长度用length方法
        B.获取字符串的长度用length属性
        C.获取集合ArrayList的长度用length方法
        D.获取数组的长度用length属性
        E.获取字符串的长度用length方法
        F.获取集合ArrayList的长度用length属性
        G.获取集合ArrayList的长度用size属性
        H.获取集合ArrayList的长度用size方法
    
    17.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。
      A:遍历集合遍历输出。
      B:求出年龄最大的学生,让后将该对象的姓名变为:葫芦娃。
    1//创建类
    public class Student {    
        private String name;
        private int age;
        private String sex;    
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
    }
    //创建对象存入集合
    Student s1 = new Student();
            s1.setName("张三");
            s1.setAge(16);
            s1.setSex("男");
            
            Student s2 = new Student();
            s2.setName("李四");
            s2.setAge(17);
            s2.setSex("男");
            
            Student s3 = new Student();
            s3.setName("王五");
            s3.setAge(18);
            s3.setSex("男");
    
            ArrayList<Student> list = new ArrayList<Student>();
            
            list.add(s1);
            list.add(s2);
            list.add(s3);
            //遍历集合
            for(Student s : list ){
                System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge()+"性别:"+s.getSex());
            }
    //结果为
    姓名:张三年龄:16性别:男
    姓名:李四年龄:17性别:男
    姓名:王五年龄:18性别:男
    
    2.
    int max=0;
            int maxindex=0;        
            for(int i=0;i<list.size();i++){            
                if(list.get(i).getAge()>max){                
                    max=list.get(i).getAge();
                    maxindex=i;                
                }                    
            }        
            list.get(maxindex).setName("葫芦娃");        
            for(Student s : list ){
                System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge()+"性别:"+s.getSex());
            }
        //结果为
    姓名:张三年龄:16性别:男
    姓名:李四年龄:17性别:男
    姓名:葫芦娃年龄:18性别:男
  • 相关阅读:
    Redis_常用5大数据类型简介
    redis_安装
    Redis_NoSql分布式数据库CAP原理
    redis_NoSql数据库四大分类
    redis_NoSql入门概述数据模型简介
    redis_NoSql入门概述
    NGINX下配置CACHE-CONTROL
    (转)centos6.5安装VNC
    django出现__init__() got an unexpected keyword argument 'mimetype‘ 问题解决
    凌乱的2015
  • 原文地址:https://www.cnblogs.com/zs0322/p/10921215.html
Copyright © 2020-2023  润新知