1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 黑马程序员-java教程 代码笔记

黑马程序员-java教程 代码笔记

时间:2021-10-19 16:51:25

相关推荐

黑马程序员-java教程 代码笔记

学习时间:

/7/2 - 7/3 七月第一个周末

学习目标:

视频p115-p149;

1.字符串

2.集合基础;

3.学生管理系统;

学习内容:

目录

1.String

1.String

String概述​编辑

String构造方法

String对象特点​编辑new会开辟新内存,直接赋值 如果两个值一样内存位置也一样

字符串比较​编辑

用户登录

遍历字符串

统计字符次数

拼接字符串

2.StringBuilder

StringBuilder概述​编辑

StringBuilder构造方法​编辑

StringBuilder 和String相互转换

案例:

2.集合基础

集合概述

ArrayList的构造方法和添加方法

ArrayList的常用方法​编辑

案例

学生管理系统

1.String

1.String

String概述

String构造方法

//string构造方法://public String(),创建一个空白字符串对象,不含有任何内容;//public String(char[] chs),根据字符串数组的内容,来创建字符串对象。//public Strinf(byte[] bys),根据字节数组内容,来创建字符串对象。//String s=“abc”;直接赋值的方法创建字符串对象,内容就是abc;//推荐直接赋值的方法得到字符串对象public class String_01 {public static void main(String[] args) {//public String(),创建一个空白字符串对象,不含有任何内容;String s1 = new String();System.out.println("s1"+s1);//public String(char[] chs),根据字符串数组的内容,来创建字符串对象。char[] chs={'a','b','c'};String s2=new String(chs);System.out.println("s2"+s2);//public Strinf(byte[] bys),根据字节数组内容,来创建字符串对象。byte[] bys={97,98,99};String s3 = new String(bys);System.out.println("s3"+s3);//String s=“abc”;直接赋值的方法创建字符串对象,内容就是abc;String s4="abc";System.out.println("s4"+s4);}}

String对象特点new会开辟新内存,直接赋值 如果两个值一样内存位置也一样

字符串比较

public class test {public static void main(String[] args){char[] arr = {'a','b','c'};String s1 = new String(arr);String s2 = new String(arr);String s3 = "abc";String s4 = "abc";System.out.println(s1==s2);System.out.println(s1==s3);System.out.println(s3==s4);System.out.println("````````````````````````");System.out.println(s1.equals(s2));System.out.println(s1.equals(s3));System.out.println(s3.equals(s4));}}

案例

用户登录

import java.util.Scanner;//需求:已知用户名和密码,请用程序实现模拟用户登录,总共给三次机会,登陆之后,给出相应提示。public class Lojinn{public static void main(String[] args) {String username = "susu";String passport = "123";for(int i = 1;i <= 3;i++){Scanner sc = new Scanner(System.in);System.out.println("请输入用户名:");String name=sc.nextLine();System.out.println("请输入密码:");String port= sc.nextLine();if((name.equals(username)) && (port.equals(passport))){System.out.println("登陆成功");break;}else{if(2-i==0){System.out.println("登陆失败,账号锁定。");}else{System.out.println("登陆失败,你还有"+(2-i)+"次机会");}}}}}

遍历字符串

import java.util.Scanner;//字符串的索引也是从0开始的、public class zhifuchuan {public static void main(String[] args) {//键盘录入一个字符串,用Scanner实现;Scanner sc=new Scanner(System.in);System.out.printf("请输入一个字符串:");String line= sc.nextLine();for(int i=0;i<line.length();i++){System.out.println(line.charAt(i));}}}

统计字符次数

import java.util.Scanner;//需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符字符出现的次数//判断遍历到的字符属于那种类型,然后对应类型变量的统计+1。public class accuse {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.printf("请输入一个字符串");String line=sc.nextLine();int bigCount=0;int smallCount=0;int numberCount=0;for(int i=0;i<line.length();i++){char ch=line.charAt(i);if(ch>'A'&&ch<'Z'){bigCount++;}else if(ch>'a'&&ch<'z'){smallCount++;}else if (ch>'0'&&ch<'9'){numberCount++;}}System.out.println("大写字母:"+bigCount+"个");System.out.println("小写字母:"+smallCount+"个");System.out.println("数字:"+numberCount+"个");}}

拼接字符串

//要求:定义一个方法,把int数组中的数据按照指定格式拼接成一个字符出返回,//调用方法,并在控制台输出结果。例如,数组为int[]arr={1,2,3};执行后输出结果为[1, 2,3]'public class stick {public static void main(String[] args) {int[] arr={1,2,3};String s=arrayToString(arr);System.out.println("s:"+ s);}public static String arrayToString(int[] arr) {String s="";s+="[";for(int i=0;i<arr.length;i++){if(i==arr.length-1){s+=arr[i];}else{s+=arr[i];s+=", ";}}s+="]";return s;}}

字符串反转

import java.util.Scanner;//定义一个方法,实现字符串反转。public class reverses {public static void main(String[] args) {Scanner sc= new Scanner(System.in);System.out.printf("请输入一个字符串:");String line=sc.nextLine();String s=reverse(line);System.out.println("s:"+ s);}public static String reverse(String s){String ss="";for(int i=s.length()-1;i>=0;i--){ss+=s.charAt(i);}return ss;}}

2.StringBuilder

StringBuilder概述

如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费内存空间,而这种操作还不可避免。

StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器

这里的可变指的是StringBuilder对象中的内容是可变的

String和StringBuilder的区别:

String:内容是不可变的StringBuilder:内容是可变的

StringBuilder构造方法

StringBuilder 和String相互转换

1.StringBuilder转换为String

publicString toString():通过 toString()就可以实现把StringBuilder转换为String

2.String转换为StringBuilder

public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

案例:

1.字符串拼接升级版

public class stickUp {public static void main(String[] args) {int[] arr={1,2,3};String s=arrayToString(arr);System.out.println("s:"+s);}public static String arrayToString(int[] arr){StringBuilder sb=new StringBuilder();sb.append("[");for(int i=0;i<arr.length;i++){if(i== arr.length-1){sb.append(arr[i]);}else{sb.append(arr[i]).append(", ");}}sb.append("]");String s= sb.toString();return s;}}

2.字符串反转升级版

public class reverseUp {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String line = sc.nextLine();String s=myReserve(line);System.out.println("s:"+s);}public static String myReserve(String s) {/* StringBuilder sb=new StringBuilder(s);sb.reverse();String ss=sb.toString();return ss;*/return new StringBuilder(s).reverse().toString();}}

2.集合基础

集合概述

集合类的特点:提供一种存储空问可变的存储模型,存储的数据容量可以发生改变集合类有很多,目前我们先学习一个: ArrayList

ArrayList的构造方法和添加方法

/*ArrayList的构造方法:public ArrayList():创建一个空的集合对象。ArrayList的添加方法:public boolean add(E e):将指定元素追加到此集合的末尾。public void add(index, E elemen):在此集合的指定位置插入指定元素。*/public class FundnAdd {public static void main(String[] args) {ArrayList<String> array=new ArrayList<String>();// System.out.println(array.add("hello"));array.add("hello");array.add("world");array.add("java");array.add(1,"wuhu");System.out.println("array:"+array);}}

第二种在指定位置添加方法时,如果是中间部分,那数组中的元素依次后移;如果在末尾位置,那么直接补到结尾,如果超过结尾,比如本来0-2,插入到4位置,越界,会报错。

ArrayList的常用方法

remove&set&get:如果删除越界处的元素,会报错。

案例

1.储存字符串

//需求:创建一个储存字符串的集合,存储3个字符串元素,实用程序在控制台遍历该集合。public class chuncu {public static void main(String[] args) {//创建集合对象ArrayList<String> array =new ArrayList<String>();//在集合中添加字符串对象array.add("liu");array.add("zuo");array.add("feng");//遍历集合。通过get(int index)实现。/* System.out.println(array.get(0));System.out.println(array.get(1));System.out.println(array.get(2));*///遍历集合,其次要获得到集合的长度,用size()方法实现。for(int i=0;i<array.size();i++){String s=array.get(i);System.out.println(s);}}}

2.储存学生对象

public class Student {private String name;private int age;public Student() {}public Student(String name,int age){this.name=name;this.age=age;}public void setName(String name){this.name=name;}public void setAge(int age){this.age=age;}public String getName(){return name;}public int getAge(){return age;}}

//需求:创建一个存储学生对象的集合,存储三个学生对象,使用程序实现在控制台遍历改集合。public class cunStudents {public static void main(String[] args) {//创建集合对象ArrayList<Student> array=new ArrayList<Student>();//创建学生对象Student s1=new Student("小明",15);Student s2=new Student("小娜",16);Student s3=new Student("小英",14);//添加学生对象到集合中array.add(s1);array.add(s2);array.add(s3);for(int i=0;i<array.size();i++){Student s= array.get(i);System.out.println(s.getName()+","+s.getAge());}}}

学生管理系统

3.储存学生对象并遍历升级版

public class Student {private String sid;private String name;private String age;private String address;public Student() {}public Student(String sid, String name, String age, String address) {this.sid = sid;this.name = name;this.age = age;this.address = address;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}

上面是学生类;下面是主界面。 利用Alt + Ins 可以快速设置set和get方法。

import java.sql.SQLOutput;import java.util.ArrayList;import java.util.Scanner;public class StudentManager {public static void main(String[] args) {ArrayList<Student> array=new ArrayList<Student>();while (true) {System.out.println("------欢迎来到学生管理系统------");System.out.println("1 添加学生");System.out.println("2 删除学生");System.out.println("3 修改学生");System.out.println("4 查看所有学生");System.out.println("5 退出");System.out.println("请输入你的选择:");Scanner sc = new Scanner(System.in);String line = sc.nextLine();//用switch语句完成操作的选择switch (line) {case "1":addStudent(array);break;case "2":updateStudent(array);break;case "3":deleteStudent(array);break;case "4":findStudent(array);break;case "5":System.out.println("谢谢使用");break;}}}public static void addStudent(ArrayList<Student> array) {Scanner sc=new Scanner(System.in);String sid;while(true) {System.out.println("请输入学生学号:");sid = sc.nextLine();boolean flag = isUsing(array, sid);if (flag) {System.out.println("该学号已被使用,请重新输入");}else{break;}}System.out.println("请输入学生姓名:");String name=sc.nextLine();System.out.println("请输入学生年龄:");String age=sc.nextLine();System.out.println("请输入学生地址:");String address=sc.nextLine();Student s=new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);array.add(s);System.out.println("添加学生成功");}public static void findStudent(ArrayList<Student> array) {if(array.size()==0){System.out.println("无信息,请录入学生信息");return;}System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");for(int i=0;i<array.size();i++){Student s=array.get(i);}}public static void deleteStudent(ArrayList<Student> array) {Scanner sc=new Scanner(System.in);System.out.println("请输入你要删除的学生的学号:");String sid=sc.nextLine();int index=-1;for(int i=0;i<array.size();i++){Student s=array.get(i);if(s.getSid().equals(sid)){index=i;break;}}if(index==-1){System.out.println("该信息不存在,请重新输入");}else{array.remove(index);System.out.println("删除学生成功");}}public static void updateStudent(ArrayList<Student> array) {Scanner sc= new Scanner(System.in);System.out.println("请输入你要修改的学生的学号:");String sid=sc.nextLine();//键盘录入要修改的学生信息System.out.println("请输入学生新姓名:");String name=sc.nextLine();System.out.println("请输入学生新年龄:");String age=sc.nextLine();System.out.println("请输入学生新居住地:");String address=sc.nextLine();//创建学生对象Student s=new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//遍历集合修改对应的学生信息for(int i=0;i<array.size();i++){Student student=array.get(i);if(student.getSid().equals(sid)){array.set(i,s);break;}}System.out.println("修改学生信息成功!");}public static boolean isUsing(ArrayList<Student> array,String sid) {boolean flag=false;for(int i=0;i<array.size();i++){Student s= array.get(i);if(s.getSid().equals(sid)){flag=true;break;}}return flag;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。