美文网首页
JAVA编程课件

JAVA编程课件

作者: 哎呀呀被人用了 | 来源:发表于2018-08-13 18:36 被阅读0次

    JAVA编程基础

    程序的意义
    数据
    存储数据 内存 变量 大小
    处理数据 CPU 命令 快慢

    数据种类

    数字:整数、小数
    布尔值:true、false
    字符串:几乎所有的内容都是字符串

    存数据的变量类型

    整数:int
    小数:double
    布尔值:boolean
    字符串:String

    如何把一个数据存起来

    申明变量类型:分配内存
    取变量名:记录内存位置
    用=:往变量指向的内存放数据,专业名词:赋值符
    数据:要存储的事情
    “;”:命令行结束

    如何把一个数据存起来

    int age=18
    double money=8888.88
    String company=”上海果芽软件科技有限公司”;
    String type=”RMB”;
    密码:String password=”123456”;
    String pwd=”123456”;
    订单金额:double amount=99.99;
    点灯是否开着:boolean isLight=true;

    如何存一批数据

    1个变量(基本数据类型):存1个数据
    多个变量(引用变量类型):容器

    容器种类

    数组Array:个数固定、数据含义相同、单个值
    链表ArrayList:动态增加、数据含义相同、单个值
    HashSet:动态增加、数据含义相同、单个值、自动去重
    HashMap:个数变化、数据含义不同、数据需要给含义,一对一对的数据,键值对/key=value
    JavaBean:个数固定、数据含义不同、数据需要给含义,一对一对的数据,键值对

    数据的操作

    增、删、改、查、统计
    变量的增删改查统计
    界面功能的增删改查统计:支付、学生信息、面试信息
    组织一次活动的增删改查统计:聚餐

    单个变量的增删改查统计

    增:int age=18;
    删:方法执行结束,系统会自动回收内存
    // int age = 18;
    /* int age = 18; */
    改:age=38;
    查/取:age

    数组的增删改查统计11

    新建容器:int[] ages=new int[30];
    增:下标 ages[0]=18; ages[8]=28; ages[29]=38; ages[30]=48;
    删:ages[8]=null;
    改:ages[29]=20;
    查/取:ages[8]
    统计:ages.length返回数组大小
    int[] scores={100,10,60,79};
    等价
    int[] scores=new int[4];
    scores[0]=100;
    scores[1]=10;

    ArrayList的新建/增/删/改/查/统计

    新建容器:List<int> ages=new ArrayList<int>();
    List:接口,定义实现类要写什么内容
    ArrayList:实现类
    <>:泛型
    ():构造方法
    增:ages.add(18); ages.add(28);
    删:
    改:
    查/取:ages.get(2); ages.get(4);
    统计:ages.size();返回大小

    报错/异常日志

    image.png

    HashSet的新建/增/删/改/查/统计

    新建容器:Set<Integer> ages=new HashSet<Integer>();
    Set:接口,定义实现类要写什么内容
    HashSet:实现类
    <>:泛型
    ():构造方法
    增:ages.add(18); ages.add(28);
    删:
    改:
    查/取:
    统计:ages.size();返回大小

    HashMap的新建/增/删/改/查/统计

    新建容器:Map<String,String> phones=new HashMap<String,String>();
    Map:接口,定义实现类要写什么内容
    HashMap:实现类
    <>:泛型
    ():构造方法
    增:phones.put("王慧硕", "1232321231");
    删:
    改:phones.put("王慧硕", "8765432123");
    查/取:phones.get("王慧硕")
    统计:phones.size();返回大小

    main方法:编写

    main

    alt+/

    enter ******* public static void main(String[] args) {

    }
    

    syso

    alt+/ ******** System.out.println("测试");
    enter


    image.png

    main方法:执行方式1

    image.png

    main方法:执行方式2

    image.png
    image.png

    main方法:作业提交截图样例

    image.png

    变量和容器练习

    使用变量和不同的容器,存储登录界面的数据。
    用户名:userName
    密码:password
    校验码:checkCode


    image.png

    变量和容器练习:流程

    1. 每个练习选一个人上台直播写,下边说,上边写

    2. 所有练习学生轮流直播写一轮后,开始正式全员动手写

    3. 演示截图样例

    4. 使用上传总结界面,每道题全部通过后,进行下一道题,先做完的辅导分派到其它组进行指导

    5. 全员动手写一遍后,复习动口一轮

    6. 再选人直播写一遍

    变量和容器练习:使用变量存储

        String userName= "lilei";
        String password="123466";
        String checkCode="1234";
    

    变量和容器练习:使用数组存储

        String[] datas=new String[3];
        datas[0]="李磊";
        datas[1]="123466";
        datas[2]="1234";
    

    变量和容器练习:使用ArrayList存储

        List<String> list = new ArrayList<String>();
        list.add("lilei");
        list.add("123456");
        list.add("1234");
    

    变量和容器练习:使用HashMap存储

        Map<String, String> map = new HashMap<String,String>();
        map.put("userName", "lilei");
        map.put("password", "123466");
    

    类和JavaBean新建类

    1. 类名:首字母大写,驼峰命名法


      image.png
      image.png

    工程结构:java三大特性之一:封装

    1. project工程

    2. package包

      包名
      “.”
      查看文件夹路径

    3. class类
      .java后缀:源文件
      .class后缀:源文件编译后的文件

    4. field字段

    5. method方法


      image.png

    方法的结构

    1. 权限:public/private

    2. 返回值类型:void不返回

    3. 方法名method

    4. ()参数列表

    5. 入参类型 入参变量名

    6. {}方法体

    为什么返回只需要写类型,
    但是入参需要些类型
    和变量名?
    public void test(){
    System.out.println("test");
    }

    public void sayHello(String name){
    System.out.println("hello");
    }

    public String answer(String question){
    return "答案";
    }

    public String answer(String question,int a){
    return "答案";
    }

    类的作用

    打包封装:字段和方法

    方法的作用

    打包封装:命令

    main方法的作用

    代表一个程序:

    1个程序只有一个main方法

    所有代码可以全部写在一个main方法里面

    不在main方法里面的内容不会执行

    main方法的命令可以封装成方法打包调用

    Main方法的内容

    快捷写法:
    main
    alt+/
    enter

    1. 手工写
      public static void main(String[] args){

      }
      权限:public
      静态的static
      返回值类型:void
      方法名:main
      参数列表()
      入参是一个数组:String[] args
      方法体:{}

    程序只会执行main方法里面的内容. 其他方法要想被执行,只能加到main方法里面

    方法的作用:封装(重构)--高手必经之路(把屎一样的代码写得像诗一样)

    image.png
    image.png

    一个程序最少的构成元素

    1个工程

    1个包

    1个类

    1个main方法
    把1个main方法的命令拆分封装成很多个可复用的方法

    把1个类拆分封装成很多个子类

    把1个包里的很多个类拆分封装成很多个子包

    把1个工程里的很多业务拆分成很多个子工程

    把1个公司的业务拆分成很多个专项子公司

    从无到有
    从有到优

    人无我有
    人有我优
    人优我转

    封装的目的

    代码简单
    复用


    image.png
    image.png

    用main方法实现加法运算

    1. 变量可以复用
    2. 加法和打印命令重复了好多次


      image.png

    对重复代码进行重构(封装)

    image.png
    image.png
    image.png

    “+”运算符

    数字+数字: 1+2=3
    字符串+字符串: “abc”+”def”=“abcdef”
    数字+字符串: 231+”def”=“231def”
    字符串+变量: int a=231; ”def”+ c =“def231”

    算术运算符:取余

    有一批学生,从学号1开始报数,每4个唱首歌

    用1个变量存放学号
    int no=0;

    no=1;

    if( no % 4 == 0 ){
    System.out.println(“唱歌”);
    }

    no=2;
    if( no % 4 == 0 ){
    System.out.println(“唱歌”);
    }

    算术运算符:自增

    有一批学生,从学号1开始报数,每4个唱首歌

    用1个变量存放学号
    int no=0;

    no++;

    if( no % 4 == 0 ){
    System.out.println(“唱歌”);
    }

    no++;
    if( no % 4 == 0 ){
    System.out.println(“唱歌”);
    }

    赋值运算符

    = int a=1 a=1
    += a+2=2 a=a+2;a=3
    -= a-=3 a=a-3;a=0
    *= a*=3 a=a*3;a=0
    /=
    %= a=7;a%=3 a=a%3;a=1

    逻辑运算符

    && int a=5; a>3 && a<10; true a>6 && a<10; false
    int a=5; a>6 a<10; true
    ! int a=5; int b=6; a!=6 true
    boolean result = 2==3 1==1;

    boolean result ;
    2==3 false
    1==1 true
    false || true result=true

    条件运算符

    variable x = (expression) ? value if true : value if false
    int a = (age <= 18) ? 少年: 大叔;
    int a = (sex == 0 ) ? 美女 : 野兽;

    分支结构

    媳妇让你去买6个包子,如果看到西瓜,买一个。

    最后只买了1个包子

    分支结构:if 语句

    if(布尔表达式)
    {
    //如果布尔表达式为true将执行的语句
    }
    public static void main(String args[]){
    int x = 10;

      if( x < 20 ){
         System.out.print("这是 if 语句");
      }
    

    }

    分支结构:if...else语句

    if(布尔表达式){
    //如果布尔表达式的值为true
    }else{
    //如果布尔表达式的值为false
    }
    public static void main(String args[]){
    int x = 30;

      if( x < 20 ){
         System.out.print("这是 if 语句");
      }else{
         System.out.print("这是 else 语句");
      }
    

    }

    分支结构:if...else if...else 语句

    if(布尔表达式 1){
    //如果布尔表达式 1的值为true执行代码
    }else if(布尔表达式 2){
    //如果布尔表达式 2的值为true执行代码
    }else if(布尔表达式 3){
    //如果布尔表达式 3的值为true执行代码
    }else {
    //如果以上布尔表达式都不为true执行代码
    }
    public static void main(String[] args){
    int x = 30;

      if( x == 10 ){
         System.out.print("Value of X is 10");
      }else if( x == 20 ){
         System.out.print("Value of X is 20");
      }else if( x == 30 ){
         System.out.print("Value of X is 30");
      }else{
         System.out.print("这是 else 语句");
      }
    

    }

    分支结构:嵌套的 if…else 语句

    if(布尔表达式 1){
    ////如果布尔表达式 1的值为true执行代码
    if(布尔表达式 2){
    ////如果布尔表达式 2的值为true执行代码
    }
    }
    public class Test {

    public static void main(String[] args){
    int x = 30;
    int y = 10;

      if( x == 30 ){
         if( y == 10 ){
             System.out.print("X = 30 and Y = 10");
          }
       }
    }
    

    }

    循环结构 for循环

    int i=0;

    if(i<30){
    System.out.println(“唱歌”);
    i++;
    }

    if(i<30){
    System.out.println(“唱歌”);
    i++;
    }

    if(i<30){
    System.out.println(“唱歌”);
    i++;
    }


    for(int i=0;i<30;i++){
    System.out.println(“唱歌”);
    }
    for:for循环控制器

    ():循环的条件

    int i=0:初始值

    i<30:最大值

    i++:增量为1(i+=2:增量为2)

    {}:要循环执行的命令

    循环结构:while 循环

    while( 布尔表达式 ) {
    //循环内容
    }


    while可以替换for循环

    但是for循环不能完全替换while循环


    public static void main(String args[]) {
    int x = 10;
    while( x < 20 ) {
    System.out.print("value of x : " + x );
    x++;
    System.out.print("\n");
    }
    }

    循环结构:break关键字

    break; 终断
    public static void main(String args[]) {
    int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         // x 等于 30 时跳出循环
         if( x == 30 ) {
            break;
         }
         System.out.print( x );
         System.out.print("\n");
      }
    

    }

    循环结构:continue关键字

    continue; 当前的结束,继续下一个
    public static void main(String args[]) {
    int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
        continue;
         }
         System.out.print( x );
         System.out.print("\n");
      }
    

    }

    循环结构:增强 for 循环

    for(声明语句 : 表达式)
    {
    //代码句子
    }
    public static void main(String args[]){
    int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
    

    }

    相关文章

      网友评论

          本文标题:JAVA编程课件

          本文链接:https://www.haomeiwen.com/subject/dcgubftx.html