toCharArray()和split()的区别。

toCharArray() 这个方法将一个字符串转换成一个字符数组。每个字符都会成为数组中的一个元素。

返回值:一个包含字符串中所有字符的char数组

注意,得到的是字符数组

而split()得到一系列子字符串,得到的是字符串数组

& 和 &&

使用“&”操作时,如果第一个条件是false,后续的条件依旧会判断

使用“&&”操作时,如果第一个条件是false,则后续的条件都不再判断

重载和重写

在Java中,方法重载(Overloading)允许在一个类中定义多个同名的方法,但这些方法的参数列表必须不同。以下是方法重载的具体规则:

方法重载(Overloading)的规则:

  1. 方法名必须相同:重载的方法必须具有相同的名称。
  2. 参数列表必须不同:重载的方法必须有不同的参数列表。参数列表的不同可以包括参数的数量、类型或顺序的不同。
  3. 返回值类型可以不同:重载的方法可以有不同的返回值类型,但这不是区分方法重载的主要依据。
  4. 访问修饰符可以不同:重载的方法可以有不同的访问修饰符(如 public、protected、private),但这也不是区分方法重载的主要依据。
  5. 异常声明可以不同:重载的方法可以有不同的异常声明,但这也不是区分方法重载的主要依据。

在Java中,方法重写(Overriding)是指子类提供父类中已定义方法的新实现。为了确保方法重写能够正确工作,有一些具体的规则需要遵循。以下是方法重写的规则:

方法重写(Overriding)的规则

  1. 方法名必须相同:子类中的方法必须与父类中的方法具有相同的名称。
  2. 参数列表必须相同:子类中的方法必须与父类中的方法具有相同的参数列表。
  3. 返回类型必须相同或兼容:子类中的方法返回类型必须与父类中的方法返回类型相同,或者是可以协变返回类型(即子类的返回类型可以是父类返回类型的子类型)。
  4. 访问修饰符不能更严格:子类中的方法访问修饰符不能比父类中的方法更严格。例如,如果父类中的方法是 public,子类中的方法不能是 private 或 protected。
  5. 异常声明不能更多:子类中的方法抛出的异常类型不能比父类中的方法更多,但可以抛出更少或相同的异常类型。

replaceAll()

在Java中,如果你想通过点号(.)来拆分一个IP地址字符串,直接使用 replaceAll(".") 是不正确的。原因如下:

replaceAll 方法

  • 功能:replaceAll 方法用于替换字符串中所有匹配正则表达式的子字符串。
  • 参数:第一个参数是一个正则表达式,第二个参数是用于替换的字符串。

点号(.)在正则表达式中是一个特殊字符,表示匹配任意单个字符。因此,如果你直接使用 replaceAll(".", something),它会匹配并替换字符串中的每一个字符,而不是只替换点号。

如果你的目标是拆分IP地址字符串,应该使用 split 方法而不是 replaceAll 方法。split 方法可以正确地处理正则表达式中的点号。

如果你尝试使用 replaceAll 方法来替换点号,你需要正确地转义点号:replaceAll("\.", 目标值);

a++ 和 ++a

int a = 2
int b = (a++) * 3
int c = (++a) * 3

明白了,这段代码是在 Java 中编写的。让我们详细分析每一步:

int a = 2;
int b = (a++) * 3;
int c = (++a) * 3;

初始状态

  • a 的初始值为 2

第二行:int b = (a++) * 3;

  • 这里使用了后缀自增运算符 a++
  • 后缀自增运算符会在表达式计算完成后才增加变量的值。
  • 因此,在计算 (a++) * 3 时,a 的值仍然是 2
  • 计算结果为 2 * 3 = 6,所以 b 的值为 6
  • 表达式计算完成后,a 的值增加 1,变为 3

第三行:int c = (++a) * 3;

  • 这里使用了前缀自增运算符 ++a
  • 前缀自增运算符会在表达式计算之前增加变量的值。
  • 因此,在计算 (++a) * 3 时,a 的值先增加 1,变为 4
  • 计算结果为 4 * 3 = 12,所以 c 的值为 12

最终状态

  • a 的最终值为 4
  • b 的值为 6
  • c 的值为 12

总结:

  • 初始时 a = 2
  • 执行 b = (a++) * 3 后,b = 6a = 3
  • 执行 c = (++a) * 3 后,c = 12a = 4

switch中的break

进入分支后,如果没有break,将会继续执行下一个分支的内容

8. 仔细阅读如下代码,选择正确的输出结果。(	C)
public static void main(String[] args) {
// 定义一个字符变量
char ch = 'i';
// 判断是否为元音字母
switch(ch) {
case 'a':
System.out.print("a是元音字母");
break;
case 'e':
System.out.print("e是元音字母");
break;
case 'i':
System.out.print("i是元音字母");
case 'o':
System.out.print("o是元音字母");
break;
case 'u':
System.out.print("u是元音字母");
break;
default:
System.out.print(ch + "不是元音字母");
break;
}
}
A. i是元音字母 B. o是元音字母
C. i是元音字母o是元音字母 D. i不是元音字母

Java中的length和length()的区别

.length没有括号,是属性

.length()有括号,是方法

如果是数组,获取长度,长度是数组的属性,因此使用数组.length

如果是字符串,获取长度,要调用获取长度的方法,因此使用字符串.length()

[双体系练习]Java基础易错点的更多相关文章

  1. java基础易错点总结(一)

    子类继承父类表示子类比他的父类包含更多的信息和方法 子类调用重载的构造方法时会调用父类的构造方法,super();一般如果不写的话会隐式的调用,而且每次调用都在所有语句之前. 在函数中,使用父类的地方 ...

  2. Java字符串易错方法总结

    Java字符串易错方法总结 public String[] split(String regex) 和 public String[] split(String regex,int limit) li ...

  3. java考试易错题大全

    常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...

  4. java数据类型易错点简单总结,欢迎大神前辈补充!谢谢

    数据类型那这边看似简单,花了我很长时间也就是才练到几成"功力"吧.还希望路过的大神在下面补充,菜鸟的我深受感谢! 首先看两个思考题 思考题1:请问下面这个有没有问题 double ...

  5. java基础易混点

    1.进制转换由低到高:byte<short(char)<int<long<float<double 2.java八种基本数据类型(存在栈里):  整数类型  byte,s ...

  6. java中易错点(二)

    java,exe是java虚拟机 javadoc.exe用来制作java文档 jdb.exe是java的调试器 javaprof,exe是剖析工具 解析一: sleep是线程类(Thread)的方法, ...

  7. java中易错点(一)

    由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/".如果想替换的只是&qu ...

  8. java基础 易忘易混点复习1

    原码 反码 补码 原码 正数的原码最高位是0 负数的原码最高位是1 例如:+7 0 0000111 -7 1 0000111 反码 正数的反码与原码相同 负数的反码相比原码 符号位不变,数值位取反 例 ...

  9. java初级易错问题总结

    1.什么是变量?变量的定义格式?要使用变量需要注意什么?就是可变的量数据类型 变量名 = 数值;同一范围内不能重复定义不赋值不能使用 2.Java中的数据类型分几类?基本数据类型有哪些?两大类     ...

  10. java中易错点

    1.A instanceof  B{这是没有好好利用java多态的表现} java中的二元操作符,测试A对象是否是B类的实例: 返回值:boolean类型 2.“==”与 “equals”的区别: = ...

随机推荐

  1. 读取.raw格式文件(学习记录)

    import cv2 #OpenCV包 import numpy as np # 首先确定原图片的基本信息:数据格式,行数列数,通道数 rows=886#图像的行数 cols=492#图像的列数 ch ...

  2. 数据库周刊29│2020数据库研究报告;Oracle取消今年技术大会;腾讯云DBbridge发布支持一键迁库;饿了么迁至阿里云;PG数组查询;Oracle被比特币勒索;DM8 安全管理…

    摘要:墨天轮数据库周刊第29期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.   热门资讯 1.快讯:2020年Oracle OOW大会因疫情取消 系近20年首度[摘要]Oracle ...

  3. iOS使用SourceTree回滚回滚小结

    代码回滚,适用于的场景: 1.提交错代码,想放弃刚刚提交的部分:2.代码发生冲突,处理比较麻烦,为了代码安全,直接回滚到之前干净的代码.我个人理解,可以分为本地回滚和远程回滚: 一.本地回滚,回滚自己 ...

  4. replace 和 replaceAll

    replace 匹配中的第一次:replaceAll 替换所有匹配的内容: let str = 'aj123dshf12aaaaaaaaaaa3uausdjd123suas123fus12' let ...

  5. 谈谈你对 vue 的理解

    vue 是创建用户界面的 js 框架 ,是创建 spa 应用的框架 :使用 mvvm 模式,数据驱动视图模型 ,业务逻辑和页面解构分离开发:使用高效的 diff 算法渲染页面结构 : 采用组件化模式, ...

  6. Python之py9-微信监控获取mp3_url

    #!/usr/bin/env python # -*- coding:utf-8 -*- import re import requests import wxpy name_url_list = [ ...

  7. MySQL数据的导入

    我们在帖子MySQL数据的导出 - brucexia - 博客园 (cnblogs.com)中讲了MySQL数据的导出,本文讲讲解MySQL数据的导入. MySQL数据的导入包括使用LOAD DATA ...

  8. jenkins构建pytest持续集成环境时,遇到的一些问题及处理

    前言: 构建的项目为pytest+appium+allure,在pycharm里面已将环境代码调试并测试完毕,放到jenkins里执行的一些问题整理 问题1.pycharm里可以正常运行代码,到了je ...

  9. 【2024有效】WordPress忘记密码找回登录密码的最简单有效的方法

    这个找回Wordpress后台密码密的方法,前提是,可以操作数据. 最近忘记了极客侠网站登陆密码,还是按照以前的方法,进入数据库直接修改数据库, 但是现在wordpress密码的加密不是简单的MD5所 ...

  10. python操作pptx设置title字体大小插入全屏图片A4尺寸实例一枚

    pip install python-pptx 安装好pptx,设置标题最大的作用是ppt里面的摘要视图显示摘要文字 参考:https://python-pptx.readthedocs.io/en/ ...