古镇中小企业网站建设,丽江网站建设公司,最省钱的购物软件,wordpress文章顶置1.API
1#xff09;API概述
API(Application Programming Interface):应用程序编程接口
编写一个机器人程序去控制机器人踢足球#xff0c;程序需要向机器人发出向前跑、向后跑、射门、抢球等各种命令。机器人厂商一定会提供用于控制机器人的接口类#xff0c;这些类中定…1.API
1API概述
API(Application Programming Interface):应用程序编程接口
编写一个机器人程序去控制机器人踢足球程序需要向机器人发出向前跑、向后跑、射门、抢球等各种命令。机器人厂商一定会提供用于控制机器人的接口类这些类中定义好了操作机器人各种动作的方法。其实这些接口类就是机器人提供给应用程序编程的接口大家把这些类称为API
Java API指的就是JDK中提供的各种功能的Java类
这些类将底层的实现封装了起来我们不需要关心这些类是如何实现的只需要学习这些类如何使用即可我们可以通过帮助文档来学习这些API如何使用。
2如何使用帮助文档
①右键打开该文档
②找到索引选项卡中的输入框
③在输入框中输入Random
④看类在哪个包下
ps:java.lang下的包不需要导包的
⑤看类的描述
⑥看构造方法
⑦看成员方法
3)API使用练习
需求按照帮助文档使用步骤学习Scanner类的使用并实现键盘录入一个字符串最后输出在控制台
注意
调用方法的时候如果方法有明确的返回值我们用变量接收
可以手动完成也可以使用快捷键的方式完成Ctrl Alt V)
package com.maicangfenxiang;import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//创建对象Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串数据);//接收数据String line sc.nextLine();//Ctrl Alt V//输出结果System.out.println(您输入的数据是 line);}
}2.String
1String概述
String 类在java.lang包下所以使用的时候不需要导包
String类代表字符串Java程序中的所有字符串文字例如abc都被实现为此类的实例
也就是说Java程序中所有的双引号字符串都是String类的对象
2字符串的特点
字符串不可变它们的值在创建后不能被更改虽然String的值是不可变的但是它们可以被共享
字符串效果上相当于字符数组char[])(JDK8及以前是字符数组JDK9及以后是字节数组,但是底层原理是字节数组byte[])
3String构造方法
方法名 说明 public String()创建一个空白字符串对象不含有任何内容public String(char[] chs)根据字符数组的内容来创建字符串对象public String(byte[] bys)根据字节数组的内容来创建字符串对象String s abc直接赋值的方式创建字符串对象内容就是abc
package com.maicangfenxiang;//String构造方法,推荐使用直接赋值得到字符串对象
public class StringDemo {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 String(byte[] bys) 根据字节数组的内容来创建字符串对象byte[] bys {97, 98, 99};String s3 new String(bys);System.out.println(s3: s3);//String s abc 直接赋值的方式创建字符串对象内容就是abcString s4 abc;System.out.println(s4: s4);}
}4String对象的特点
①通过new创建的字符串对象每一次new都会申请一个内存空间虽然内容相同但是地址值不同
char[] chs {a,b,c};
String s1 new String(chs);
String s2 new String(chs);
上面的代码中JVM会首先创建一个字符数组然后每一次new的时候都会有一个新的地址只不过s1和s2参考的字符串内容是相同的。
②以方式给出的字符串只要字符序列相同顺序和大小写无论在程序代码中出现几次JVM都只会建立一个String对象并在字符串池中维护
String s3 abc;
String s4 abc;
在上面的代码中针对第一行代码JVM会建立一个String对象放在字符串池中并给s3参考第二行则让s4直接参考字符串池中的String对象也就是说它们本质上是同一个对象。
5字符串的比较
使用 做比较
基本类型比较的是数据值是否相同引用类型比较的是地址值是否相同
字符串是对象它比较内容是否相同是通过一个方法来实现的这个方法叫equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较由于我们比较的是字符串对象随意参数直接传递一个字符串
package com.maicangfenxiang;
//字符串的比较
public class StringDemo {public static void main(String[] args) {//构造方法的方式得到对象char[] chs {a, b, c};String s1 new String(chs);String s2 new String(chs);//直接赋值的方式得到对象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));}
}6案例用户登录 需求已知用户名和密码请用程序实现模拟用户登录。总共给三次集会登录之后给出相应的提示 package com.maicangfenxiang;import java.util.Scanner;//需求已知用户名和密码请用程序实现模拟用户登录。总共给三次集会登录之后给出相应的提示
public class StringTest01 {public static void main(String[] args) {//已知用户名和密码定义两个字符串String userName maicangfenxiang;String password 1234567;//键盘录入数据Scanner sc new Scanner(System.in);for(int i 0;i3;i) {System.out.println(请输入用户名);String name sc.nextLine();System.out.println(请输入密码);String pwd sc.nextLine();if (name.equals(userName) pwd.equals(password)) {System.out.println(登录成功);break;} else {if(2-i 0){System.out.println(你的账户被锁定请与管理员联系);}else {System.out.println(登录失败你还有 (2 - i) 次集会);}}}}
}7)案例遍历字符串 需求键盘录入一个字符串使用程序实现在控制台遍历字符串 package com.maicangfenxiang;import java.util.Scanner;//需求键盘录入一个字符串使用程序实现在控制台遍历字符串
public class StringTest02 {public static void main(String[] args) {//键盘录入一个字符串Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串);String line sc.nextLine();//遍历字符串for(int i0;iline.length();i){System.out.println(line.charAt(i));}}
}8案例统计字符次数 需求键盘录入一个字符串统计该字符串中大写字母字符小写字母字符数字字符出现的次数不考虑其他字符 package com.maicangfenxiang;import java.util.Scanner;//需求键盘录入一个字符串统计该字符串中大写字母字符小写字母字符数字字符出现的次数不考虑其他字符
public class StringTest03 {public static void main(String[] args) {//键盘录入一个字符串Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串);String line sc.nextLine();//定义三个统计变量初始值为0int bigCount 0;int smallCount 0;int numberCount 0;//遍历字符串for (int i 0; i line.length(); i) {char ch line.charAt(i);if (A ch ch Z) {bigCount;} else if (a ch ch z) {smallCount;} else if (0 ch ch 9) {numberCount;}}System.out.println(大写字母bigCount小写字母smallCount数字numberCount);}
}9)案例拼接字符串 需求定义一个方法把int数组中的数据按照指定的格式拼接称一个字符串返回调用该方法并在控制台输出结果。例如数组为int[] arr {123}执行方法后的输出结果为[123] package com.maicangfenxiang;/*
需求定义一个方法把int数组中的数据按照指定的格式拼接称一个字符串返回
调用该方法并在控制台输出结果。例如数组为int[] arr {123}
执行方法后的输出结果为[123]*/
public class StringTest04 {public static void main(String[] args) {//定义一个int数组int[] arr {1, 2, 3};String s arrayToString(arr);System.out.println(s);}//定义方法public static String arrayToString(int[] arr) {String line ;line [;for (int i 0; i arr.length; i) {if (i arr.length - 1) {line arr[i];} else {line arr[i];line ,;}}line ];return line;}
}10)案例字符串反转 需求定义一个方法实现字符串反转。键盘录入一个字符串调用该方法后在控制台输出结果 例如键盘录入abc,输出结果cba package com.maicangfenxiang;import java.util.Scanner;/*
需求定义一个方法实现字符串反转。键盘录入一个字符串调用该方法后在控制台输出结果例如键盘录入abc,输出结果cba*/
public class StringTest05 {public static void main(String[] args) {//键盘录入一个字符串Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串);String line sc.nextLine();String s reverse(line);System.out.println(s:s);}public static String reverse(String s){String ss ;for(int is.length()-1;i0;i--){ss s.charAt(i);}return ss;}
}11)通过帮助文档查看String中的方法
方法名说明public boolean equals(Object anObject)比较字符串的内容严格区分大小写用户名和密码public char charAt(int index)返回指定索引处的char值public int length()返回此字符串的长度