Eclipse的安装与使用、String类

标签: Eclipse  Java  String类

Basic Java Programming day13

学习内容

今天学习使用eclipse,复习了昨天有关多态、Object类等知识,新学习了String类。

Eclipse的安装与使用

安装

  1. 今天安装了eclipse,老师推荐使用Oxygen Release Milestone 5 (4.7.0 M5)版本。这个版本可以开发好多,比如Java、JavaEE等项目。
  2. 老师提供了免安装版的软件,压缩包直接解压在当前目录即可,然后链一个快捷方式过去就可以用了。非常方便快捷。
  3. 目前开发大部分使用的是eclipse,因为它是开源免费的。还有部分收费软件,例如idea、MyEclipse等,是国企或一些大型企业在使用。

使用

  1. 软件打开时会出现如下图所示画面,需要选择一个工作空间。
    在这里插入图片描述先在自己的文档盘创建一个工作空间目录,此处建了一个corejava-workspace和work-workspace文件夹,corejava-workspace存放课堂代码,work-workspace存放作业代码。(eclipse为软件配置目录,以后安装软件与eclipse同一级)
    在这里插入图片描述
  2. 快捷键
热键 作用
ctrl+n 新建项目
输入mainalt+/ 提示 自动补齐main方法
输入sysoalt+/ 提示 或 输入 soutalt+/ 提示 自动补齐输出语句
alt+shift+s 构造方法等
ctrl+shift+f 调整格式
ctrl+shift+o 快速导入java文件中所有未导包的类&快速消除导入但未使用的类
ctrl +/- 放大/缩小字体

复习

成员方法:编译看左边,运行看右边。
成员变量:编译运行都看左边。

判断obj是不是ObjectTest类型用instanceof。

Integer的面试题

Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println("-----------");

Integer i3 = new Integer(197);
Integer i4 = new Integer(197);
System.out.println(i3 == i4);
System.out.println(i3.equals(i4));
System.out.println("-----------");

Integer i5 = 97;
Integer i6 = 97;
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
System.out.println("-----------");

Integer i7 = 197;
Integer i8 = 197;
System.out.println(i7 == i8);
System.out.println(i7.equals(i8));

常量池,可以存字符串常量。

String类

String类的概述

  • 通过JDK提供的API,查看String类的说明
    • 字符串字面值"abc"也可以看成是一个字符串对象。
    • 字符串是常量,一旦被赋值,就不能被改变。

String类的构造方法

  • 常见构造方法
    • public String():空构造
    • public String(byte[] bytes):把字节数组转成字符串
    • public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
    • public String(char[] value):把字符数组转成字符串
    • public String(char[] value,int index,int count):把字符数组的一部分转成字符串
    • public String(String original):把字符串常量值转成字符串

String类的常见面试题

  1. 判断定义为String类型的s1和s2是否相等
    String s1 = “abc”;
    String s2 = “abc”;
    System.out.println(s1 == s2);
    System.out.println(s1.equals(s2));
  2. 下面这句话在内存中创建了几个对象?
    String s1 = new String(“abc”);
  3. 判断定义为String类型的s1和s2是否相等
    String s1 = new String(“abc”);
    String s2 = “abc”;
    System.out.println(s1 == s2); ?
    System.out.println(s1.equals(s2)); ?
  4. 判断定义为String类型的s1和s2是否相等
    String s1 = “a” + “b” + “c”;
    String s2 = “abc”;
    System.out.println(s1 == s2); ?
    System.out.println(s1.equals(s2)); ?
  5. 判断定义为String类型的s1和s2是否相等
    String s1 = “ab”;
    String s2 = “abc”;
    String s3 = s1 + “c”;
    System.out.println(s3 == s2);
    System.out.println(s3.equals(s2)); ?

String类的判断功能

  • String类的判断功能
    • boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
    • boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
    • boolean contains(String str):判断大字符串中是否包含小字符串
    • boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
    • boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
    • boolean isEmpty():判断字符串是否为空。

模拟用户登录

  • 需求:模拟登录,给三次机会,并提示还有几次。
  • 用户名和密码都是admin
package com.briup.day14.content;

import java.util.Arrays;
import java.util.Scanner;

public class Login {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		for (int i = 3; i >= 1; i--) {
			System.out.println("请按照以下格式严格输入");
			System.out.println("用户名:密码");
			String user = sc.nextLine();// 输入一行
			String[] userInfo = user.split(":");
			if ("admin".equals(userInfo[0]) && "admin".equals(userInfo[1])) {
				System.out.println("登录成功");
				break;
			} else {
				System.out.println("登录失败,,你还有" + (i-1) + "次机会");
			}
		}

	}
}

在这里插入图片描述

String类的获取功能

  • String类的获取功能
    • int length():获取字符串的长度。
    • char charAt(int index):获取指定索引位置的字符
    • int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
    • int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。
    • int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
    • int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
    • lastIndexOf
    • String substring(int start):从指定位置开始截取字符串,默认到末尾。
    • String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。

字符串的遍历

  • 需求:遍历字符串
package com.briup.day14.content;

public class String3Test {
	public static void main(String[] args) {
		String ss = "I'm the best in this world!";
		for(int i = 0; i < ss.length(); i++) {
					System.out.println(ss.charAt(i));
				}
		}
	}

在这里插入图片描述

统计不同类型字符个数

  • 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。
package com.briup.day14.content;

public class String3Test {
	public static void main(String[] args) {
	String as = "[email protected]#$%^";	
	
	int upper = 0;
	int lower = 0;
	int number = 0;
	int other = 0;
	for(int i = 0; i < as.length(); i++) {
		char chars = as.charAt(i);
		if(chars >= 'A' &&  chars <= 'Z') {
			upper++;
		} else if(chars >= 'a' && chars <= 'z') {
			lower++;
		} else if(chars >= '0' && chars <= '9') {
			number++;
		} else {
			other++;
		}
	}		
	System.out.println("大写:" + upper);
	System.out.println("小写:" + lower);
	System.out.println("数字:" + number);
	System.out.println("其他:" + other);
	}
}

在这里插入图片描述

String类的转换功能

  • String的转换功能:
    • byte[] getBytes():把字符串转换为字节数组。
    • char[] toCharArray():把字符串转换为字符数组。
    • static String valueOf(char[] chs):把字符数组转成字符串。
    • static String valueOf(int i):把int类型的数据转成字符串。
      • 注意:String类的valueOf方法可以把任意类型的数据转成字符串。
    • String toLowerCase():把字符串转成小写。(了解)
    • String toUpperCase():把字符串转成大写。
    • String concat(String str):把字符串拼接。

字符串的反转

package com.briup.day14.content;

public class String3Test {
	public static void main(String[] args) {
	String as = "[email protected]#$%^";
				
	for(int i = as.length() - 1; i > -1; i--) {
			System.out.print(as.charAt(i));
		}
	}
}

在这里插入图片描述

总结

今天没有作业,把老师课堂上讲到的案例都实现了一边,发现都会用,都看得懂,就是有时候想不起来怎么写,继续努力,勤加练习。
主讲今天值班,去找他问问题去。

原文链接:加载失败,请重新获取