A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

经历了4天预习班以及11天的基础班,已经初步的了解到Java的基本应用..以下是这些天的个人总结:
1.James Gosling与Partrick,Naughton和Mike Sheridan等人合作"绿色计划",后来发展一套语言叫"Oak",之后改名为Java.
2.Java主要有开源和跨平台的优点,跨平台代表着Java程序可以在任意操作系统上运行,一次编写到处运行,实现跨平台需要依赖Java的虚拟机JVM
3.JVM是JAVA的虚拟机,不同的平台都有自己的虚拟机,因此JAVA实现了跨平台
   JRE,包括JAVA虚拟机和JAVA程序所需的核心库类.
   JDK,提供给JAVA开发人员使用,包括了JAVA的开发工具和JRE.
4.著名案例,"HelloWorld"..

public class HelloWorld {
        public static void main(String[] args) {
                System.out.println("HelloWorld");
        }
}
5.关于定义各类变量的代码:
public class VariableDemo {
    publicstatic void main(String[] args) {
        //定义byte类型的变量
        byte b= 10;
        System.out.println(10);
        System.out.println(b);
        
        //定义short类型的变量
        shorts = 100;
        System.out.println(s);
        
        //定义int类型的变量
        int i= 10000;
        System.out.println(i);
        
        //定义long类型的变量
        long l= 1000000000000000L;
        System.out.println(l);
        
        //定义float类型的变量
        floatf = 12.34F;
        System.out.println(f);
        
        //定义double类型的变量
        doubled = 12.34;
        System.out.println(d);
        
        //定义char类型的变量
        char c= 'a';
        System.out.println(c);
        
        //定义boolean类型的变量
        booleanbb = false;

        System.out.println(bb);
7.隐式数据类型转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
8.强制类型转换:例如 b = (byte)(a + b);
9.运算符
        算数运算符
                整数相除,结果还是整数
               
                注意事项:
                * a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
                * b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
                * c:/获取的是除法操作的商,%获取的是除法操作的余数
                * %运算符
                        * 当左边的绝对值小于右边绝对值时,结果是左边
                        * 当左边的绝对值等于右边或是右边的倍数时,结果是0
                        * 当左边的绝对值大于右边绝对值时,结果是余数
                        * %运算符结果的符号只和左边有关系,与右边无关
                        * 任何一个正整数%2结果不是0就是1可以用来当作切换条件
               
                'a'  97
                'A'  65
                '0'  48
                'A' + 10  ==> 65 + 10 = 75
               
                字符串与任何数据做加法运算,都会产生一个新的字符串
                "abc" + 10 + 20 ==> "abc10" + 20 ==> "abc1020"
                10 + 20 + "abc" + 10 + 20 ==> 30 + "abc" + 10 + 20 ==> "30abc" + 10 + 20 ==> "30abc1020"
               
                ++   --
               
                byte a = 10;
                a += 20;
               
        逻辑运算符
         & : 有假则假
         | : 有真则真
          ! : 事物的另一面
         ^ : 相同为false,不同为true
         
         && 和 & 的区别:
                 & 是左右两边都需要进行计算
                 && 如果左边为false,右边不执行
         || & | 的区别:
                 | 是左右两边都需要进行计算
                 || 如果左边为true,右边不执行
                
        三元运算符(三目运算符)
                关系表达式 ? 表达式1 : 表达式2
                int a = 20;
                int b = 30;
                int result = a > b ? a : b;
               
                boolean flag = (a == b ? true : false);
                boolean flag = (a == b);
10.选择流程控制语句
顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
       if语句第一种格式:
if(关系表达式) {
                   语句体
       }
if语句第二种格式:
if(关系表达式) {
                   语句体1;
       }else {
                   语句体2;
       }
      if语句第三种格式:
      if(关系表达式1) {
                   语句体1;
       }else if (关系表达式2) {
                   语句体2;
       }
    …
       else {
                   语句体n+1;
       }
11.循环语句
       for(初始化语句;判断条件语句;控制条件语句) {
        循环体语句;
   }
       while(判断条件语句) {
         循环体语句;
          }
扩展格式
        初始化语句;
        while(判断条件语句) {
               循环体语句;
                控制条件语句;
     }
         do {
         循环体语句;
          }while((判断条件语句);
扩展格式
          初始化语句;
          do {
              循环体语句;
              控制条件语句;
    } while((判断条件语句);


12.random:  导包   import java.util.Random;
创建对象 Random r = new Random();


获取随机数  int num = r.nextInt(10);
13.
数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
    格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的。
数组的初始化:   数据类型[] 数组名 = new 数据类型[数组长度];
public class ArrayDemo {
    public static void main(String[] args) {
        //数据类型[] 数组名 = new 数据类型[数组长度];
        int[] arr = new int[3];
        /*
         * 左边:
         *      int:说明数组中的元素的数据类型是int类型
         *      []:说明这是一个数组
         *      arr:是数组的名称
         * 右边:
         *      new:为数组分配内存空间
         *      int:说明数组中的元素的数据类型是int类型
         *      []:说明这是一个数组
         *      3:数组的长度,其实就是数组中的元素个数
         */
14.方法的格式
  修饰符 返回值类型 方法名(参数类型参数名1,参数类型 参数名2) {
                   函数体;
                   return 返回值;
}
/*
修饰符 目前记住 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法
参数类型 用于接收调用方法时传入的数据的类型
参数名  用于接收调用方法时传入的数据的变量
方法体 完成功能的代码
return 结束方法,把返回值带给调用者
*/
求和的方法调用:
package com.itheima_01;
/*
* 有明确返回值的方法的调用:
*      A:单独调用,没有什么意义。
*      B:输出调用,有意义,但是不够好,因为我可能需要对求和的结果进行进一步的操作
*      C:赋值调用
*/
public class MethodDemo2 {
    // 求和的方法
    public static int sum(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        // 单独调用
        // sum(10,20);

        // 输出调用
        // System.out.println(sum(10,20));

        // 赋值调用
        int s = sum(10, 20);
        // s+=100;
        System.out.println("s:"+s);
    }
}
获取两数较大值:
package com.itheima_01;

import java.util.Scanner;

/*
* 需求:键盘录入两个数据,返回两个数中的较大值
*
* 两个明确:
*                 返回值类型:int
*                 参数列表:int a,int b
*/
public class MethodTest {
        // 返回两个数中的较大值
        public static int getMax(int a, int b) {
                if (a > b) {
                        return a;
                } else {
                        return b;
                }
        }
       
        public static void main(String[] args) {
                //创建对象
                Scanner sc = new Scanner(System.in);
               
                //接收数据
                System.out.println("请输入第一个数据:");
                int x = sc.nextInt();
               
                System.out.println("请输入第二个数据:");
                int y = sc.nextInt();
               
                //调用方法
                int max = getMax(x,y);
                System.out.println("max:"+max);
        }
}
获取三个数的较大值
package com.itheima_01;

import java.util.Scanner;

/*
* 需求:键盘录入三个数据,返回三个数中的最大值
*
* 两个明确:
*                 返回值类型:int
*                 参数列表:int a,int b,int c
*/
public class MethodTest3 {
        // 返回三个数中的最大值
        public static int getMax(int a, int b, int c) {
                if (a > b) {
                        if (a > c) {
                                return a;
                        } else {
                                return c;
                        }
                } else {
                        if (b > c) {
                                return b;
                        } else {
                                return c;
                        }
                }
        }
       
        public static void main(String[] args) {
                //创建对象
                Scanner sc = new Scanner(System.in);
               
                //接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();
               
                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();
               
                System.out.println("请输入第三个数据:");
                int c = sc.nextInt();
               
                //调用方法
                int max = getMax(a,b,c);
                System.out.println("max:"+max);
        }
}
方法的重载之比较数据是否相等
package com.itheima_03;

/*
* 需求:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
*     并在main方法中进行测试
*/
public class MethodTest {
        public static void main(String[] args) {
                // 调用
                System.out.println(compare(10, 20));
                System.out.println("-------------");
                System.out.println(compare((byte)10, (byte)20));
                System.out.println("-------------");
                System.out.println(compare((short)10, (short)20));
                System.out.println("-------------");
                //System.out.println(compare((long)10, (long)20));
                System.out.println(compare(10L, 20L));
        }

        // 两个byte类型的
        public static boolean compare(byte a, byte b) {
                System.out.println("byte");
                // 第一种写法
                // boolean flag = a==b?true:false;
                // return flag;
                // 第二种写法
                // boolean flag = a == b;
                // return flag;
                // 第三种写法
                return a == b;
        }

        // 两个short类型的
        public static boolean compare(short a, short b) {
                System.out.println("short");
                return a == b;
        }

        // 两个int类型的
        public static boolean compare(int a, int b) {
                System.out.println("int");
                return a == b;
        }

        // 两个long类型的
        public static boolean compare(long a, long b) {
                System.out.println("long");
                return a == b;
        }
}
数组的遍历
package com.itheima_05;

/*
* 需求:把遍历数组改进为方法实现,并调用方法
*/
public class MethodTest {
        public static void main(String[] args) {
                // 定义数组
                int[] arr = { 11, 22, 33, 44, 55 };

                // 遍历
                // for (int x = 0; x < arr.length; x++) {
                // System.out.println(arr[x]);
                // }
               
                //用方法改进
                //printArray(arr);
               
                //这一次虽然可以,但是我觉得格式不好看,能不能打印成下面的格式呢?
                //[元素1, 元素2, 元素3, ...]
                printArray(arr);
        }
       
        public static void printArray(int[] arr) {
                System.out.print("[");
                for(int x=0; x<arr.length; x++){
                        if(x==arr.length-1){
                                System.out.println(arr[x]+"]");
                        }else {
                                System.out.print(arr[x]+", ");
                        }
                }
        }
       
        /*
         * 两个明确:
         *                 返回值类型:void
         *                 参数列表:int[] arr
         */
//        public static void printArray(int[] arr) {
//                for(int x=0; x<arr.length; x++){
//                        System.out.println(arr[x]);
//                }
//        }
}





1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马