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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刘君峰

初级黑马

  • 黑马币:16

  • 帖子:5

  • 精华:0

© 刘君峰 初级黑马   /  2019-9-21 00:26  /  753 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java语言是通过不同的JVM 跨平台运行在各种操作平台上。通过进一步学习也了解了JVM:java虚拟机,java代码都是运行在java虚拟机上;
JREJDK
JVM(Java Virtual Machine),Java虚拟机
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。

编写了第一个经典程序“hello Word”。接下来是学习构成Java语言的基础知识,注释、关键字、常量、数据类型、变量、标识符和数据类型转换等。这些基础知识是最重要的,只有基础牢固才有可能对后面的学习有更加深刻的认识!
接下来学习的是运算符和语言结构:顺序结构、分支结构(if、switch)、循环结构(for、while、do...while)。
关于分支结构,使用最广泛的语句是if语句,但当判断固定个数的值的时候建议使用switch。
switch(表达式){
         case 值1:
    语句体1;
break;
case 值2:
    语句体2;
break;

         …
      default:
语句体2;
}
知识点:
:break是可以省略的,省略后会穿透下面的case向下执行,直到遇到了break或者整体结束为止;
:switch 后面的小括号中的变量应该是byte,char,short,int,String,enum四种类型中的一种;
3):switch可以没有default,但是一般都会加上。

      循环结构如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
     break:作用于switch ,和循环语句,用于跳出,或者称为结束。break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
continue:只作用于循环结构,继续循环用的。可以结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
关于Java的学习,一定要养成良好的习惯,写括号时要成对,字母大小写和标点中英文要区分,单词拼写要准确。在学习的过程中一定要动手做、试着写代码,知识只有自己能够了解了做到了才真正属于自己。
一个标准类的构成:
1.      私有的属性 2.属性的公共get/set方法 3.行为,自定义的方法 4.构造函数(满参,无参)
封装思想:
1.     封装概述 是面向对象三大特征之一(封装,继承,多态)是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的
2.     封装原则 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法
3.      封装好处通过方法来控制成员变量的操作,提高了代码的安全性把代码用方法进行封装,提高了代码的复用性
构造方法的注意事项:
构造方法的创建:首先如果我们没有手动书写构造方法,系统默认提供一个无参构造,如果你写了一个有参构造,系统默认提供的无参构造将会失效,如果我非要再使用无参,我们必须手动书写一个无参构造.
构造方法的重载:可以重载,可以书写多个参数列表不同的构造函数
推荐的使用方式:无参+满参
·        什么是API
​ API(Application Programming Interface) :应用程序编程接口
什么是API:
​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
String类的特点
·        在java.lang包下,使用时不需要导包
·        一旦创建,长度和内容就不能更改,可以共享
·        效果上相当于字符数组,底层是字节数组.
·        只要被双引号引起来的内容就是字符串,也就是String类的实例(对象),就可以使用String类的方法
用户登录案例:
​ 已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示
2.6.2代码实现
public class Demo6 {    //psvm  主方法    public static void main(String[] args) {        //已经用户名和密码        String username = "geyi";        String password="123456";        //建议写在循环外面        Scanner sc = new Scanner(System.in);        //我只想给用户三次机会输入        for (int i = 0; i < 3; i++) {            System.out.println("请输入用户名");            String user = sc.nextLine();            System.out.println("请输入密码");            String pwd = sc.nextLine();            if(username.equals(user)&&password.equals(pwd)){                System.out.println("登录成功");                break;            }else{                if((2-i)==0){                    System.out.println("您的账号已经被冻结了");                }else{                    System.out.println("您输入的用户名或者密码错误");                    System.out.println("您还有"+(2-i)+"次机会");                }            }        }    }}
StringBuilder有一个功能完全一模一样的兄弟叫StringBuffer.构造函数,调用方法,所有的功能都是一样的.可以互相替代使用.
StringBuilder他是线程不安全的,但是效率高.
StringBuffer他是线程安全,但是效率低.
验证码产生:
package com.itheima_2;

import
java.util.Random;
import
java.util.Scanner;

//[48~58)  0~9
public class Demo8 {

   
public static void main(String[] args) {

        
char[] arr = new char[4];
        
Random random = new Random();
        for
(int i = 0; i < arr.length; i++) {

            
while (true) {
               
int next = random.nextInt(75) + 48;
                if
(next>=48 && next<=122) {
                    
if (next >= 97 ||  next < 58 ||(next >= 65 && next <= 90) ) {
                        arr = (
char) next;
                        break;
                    
}
                }
            }
        }
        
for (int i = 0; i < arr.length; i++) {
            System.
out.print(arr);
        
}
     System.
out.println();
        
Scanner scanner = new Scanner(System.in);
        
System.out.println("请输入验证码");
        
String ab = scanner.nextLine();
        
String as = new String(arr);
        if
(as.equalsIgnoreCase(ab)) {
            System.
out.println("相同");
        
} else {
            System.
out.println("不同");
        
}
    }
}
集合
file:///C:\Users\liu\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg
.1ArrayList类概述
·        什么是集合
​ 什么是集合:他就是一个容器,他的底层是一个可变的数组.你也可以把他理解为可变的数组.
​ 然后他可以存储不同的数据类型
·        ArrayList集合的特点
​ 长度是可变的,内容也是可变的.
​ 索引是从0开始,到长度减一结束
​ 集合有顺序的
·        泛型的使用
​ <>:集合一开始定义的时候,功能非常强大,可以在一个集合里面存储任意的引用数据类型.但是随着社会的发展,我们发现,一个集合应该只存一个类型,会方便一点.jdk7之后想了个办法,起了个叫泛型的东西,就说,以后加泛型,语法就规定只能存泛型的类型.
!!! 增删改查
1.2ArrayList类常用方法【应用】1.2.1构造方法        
方法名
      
说明
  
      
public  ArrayList()
   
创建一个空的集合对象
1.2.2成员方法        
方法名
      
说明
  
      
public  boolean remove(Object o)
   
删除指定的元素,返回删除是否成功

     
public  E remove(int index)
   
删除指定索引处的元素,返回被删除的元素

     
public  E set(int index,E element)
   
修改指定索引处的元素,返回被修改的元素

     
public  E get(int index)
   
返回指定索引处的元素

     
public  int size()
   
返回集合中的元素的个数

     
public  boolean add(E e)
   
将指定的元素追加到此集合的末尾

     
public  void add(int index,E element)
   
在此集合中的指定位置插入指定的元素

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马