java学习
7.28
(1)键盘录入
第一套体系
nextInt(); 接收整数
nextDouble(); 接收小数
next(); 接收字符串
特点:遇到空格、制表符、回车就停止接收,这些符号后面的数据就不会接收了
第二套体系
nextLine(); 接收字符串
特点:遇到回车才停止
(2)定义数组储存3部汽车对象
代码示例:
public class Car {
private String brand;
private int price;
private String color;
public Car() {
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
import java.util.Scanner;
public class Cartest {
static public void main(String[] args) {
Car[] arr=new Car[3];
Scanner sc=new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
Car c=new Car();
System.out.println("请输入车品牌");
String brand=sc.next();
c.setBrand(brand);
System.out.println("请输入车价");
int price=sc.nextInt();
c.setPrice(price);
System.out.println("请输入颜色");
String color=sc.next();
c.setColor(color);
arr[i]=c;
}
for (int i=0; i < arr.length; i++) {
Car car=arr[i];
System.out.println(car.getBrand()+","+car.getPrice()+","+car.getColor());
}
}
}
7.29
(1)字符串(String)
字符串的内容是不会改变的,它的对象在创建后不能被更改
java.lang.String类代表字符串,Java程序中的所有字符串文字都为此类的对象,使用的时候不需要导包
创建String对象的两种方式:
直接赋值:String name=""
new:public String() 创建空白字符串,不含任何内容
public String(String original) 根据传入的字符串,创建字符串对象
public String(char[] chs) 根据字符数组,创建字符串对象
public String(byte[] chs) 根据字节数组,创建字符串对象
(2)字符串的比较
基本数据类型比较的是数据值
引用数据类型比较的是地址值
boolean equals(要比较的字符串) 完全一样结果才是true,否则为false
boolean equalsignoreCase(要比较的字符串) 忽略大小写的比较
(注:键盘输入属于new引用数据类型)
7.30
(1)练习(用户登录)
代码示例:
import java.util.Scanner;
public class StringDemo {
static public void main(String[] args) {
String rightUsername="yuanshen";
String rightPassword="123456";
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名");
String userName=sc.next();
System.out.println("请输入密码");
String password=sc.next();
if(userName.equals(rightUsername)&&password.equals(rightPassword)) {
System.out.println("登录成功");
}else {
System.out.println("用户名或密码有误");
}
}
}
7.31
(1)遍历字符串
public char charAt(int index) 根据索引返回字符
public int length() 返回字符串的长度
代码示例:
import java.util.Scanner;
public class StringDemo2 {
static public void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串");
String str=sc.next();
for(int i=0;i<str.length();i++) {
char c=str.charAt(i);
System.out.println(c);
}
}
}
输入:abc
运行结果:
a
b
c
(2)统计字符次数
代码示例:
import java.util.Scanner;
public class StringDemo3 {
static public void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串");
String str=sc.next();
int bigCount=0;
int smallCount=0;
int numberCount=0;
for(int i=0;i<str.length();i++) {
char c=str.charAt(i);
if(c>='a'&&c<='z') {
smallCount++;
}else if(c>='A'&&c<='Z') {
bigCount++;
}else if(c>='0'&&c<='9') {
numberCount++;
}
}
System.out.println("大写字母有"+bigCount+"个");
System.out.println("小写字母有"+smallCount+"个");
System.out.println("数字有"+numberCount+"个");
}
}
8.1
(1)金额转换
代码示例:
import java.util.Scanner;
public class StringDemo4 {
static public void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入金额");
int money;
while(true) {
money=sc.nextInt();
if(money>=0&&money<=999999999) {
break;
}else {
System.out.println("金额无效");
}
}
String moneyString="";
while(true) {
int ge=money%10;
String capnum=getCapnum(ge);
moneyString=capnum+moneyString;
money=money/10;
if(money==0) {
break;
}
}
System.out.println(moneyString);
}
public static String getCapnum(int num) {
String[] arr= {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[num];
}
}
8.2
(1)截取
方法:String substring(int beginindex,int endindex)
包头不包尾,包左不包右,只有返回值才是截取的小串
String substring(int beginindex)
截取到末尾
(2)电话号码屏蔽
代码示例:
import java.util.Scanner;
public class PhoneNum {
static public void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入电话号码");
String num=sc.next();
String start=num.substring(0,3);
String end=num.substring(8, 11);
System.out.println(start+"*"+end);
}
}
(3)替换
String replace(旧值,新值)
只有返回值是替换后的结果
(4)敏感词替换
代码示例:
public class Word {
static public void main(String[] args) {
String talk="CNM你怎么这么菜啊";
String[] arr= {"CNM","cnm"};
for (int i = 0; i < arr.length; i++) {
talk=talk.replace(arr[i],"");
}
System.out.println(talk);
}
}
8.3
(1)StringBuilder
StringBuilder可以看做一个容器,创建之后里面的内容是可变的
作用:提高字符串的操作效率
构造方法:
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象
常用方法:
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 反转容器中的内容
public int length() 返回长度(字符出现的个数)
public String toString() 通过toString()就可以实现把StringBuilder转换为String
使用代码示例:
public class Stringbuilder {
static public void main(String[] args) {
StringBuilder sb=new StringBuilder();
sb.append("aaa");
sb.append(666);
String str=sb.toString();
int len=sb.length();
System.out.println(str);
System.out.println("长度为"+len);
}
}