全国未成年人思想道德建设网站,青岛慧思网站建设,南充公司网站建设,刷题小程序制作平台前言#xff1a;
1.大小写规定 1.1.类名和接口名#xff1a;每个单词首字母大写。如GoodStudent#xff1b; 是一个单词的时候首字母大写。如Student#xff1b; 1.2.变量和方法名#xff1a;第一个首字母小写#xff0c;后序首字母大写。如firstName#xff1b; 是一…前言
1.大小写规定 1.1.类名和接口名每个单词首字母大写。如GoodStudent 是一个单词的时候首字母大写。如Student 1.2.变量和方法名第一个首字母小写后序首字母大写。如firstName 是一个单词的时候全部小写 如name 原文链接https://blog.csdn.net/m0_67474739/article/details/129745810
一、 和 equal的区别 在 Java 中 用于比较两个对象的引用是否相同即它们是否指向相同的内存地址。对于基本数据类型 用于比较它们的值是否相等。equals() 是一个方法用于比较两个对象的内容是否相等。通常需要重写 equals() 方法来定义对象相等的逻辑因为默认的 equals() 方法是比较对象的引用地址。 在 Python 中 用于比较两个对象的值是否相等。对于对象它比较的是它们的值对于基本数据类型也是比较它们的值。对于自定义的类可以通过重写 eq() 方法来定义对象相等的逻辑使得 操作符可以比较对象的内容。 2、对1中的这句进行解释 用于比较两个对象的引用是否相同即它们是否指向相同的内存地址
String s1hello 和 String s1 new String(hello); String s1 hello; 这种方式是使用字符串字面值直接赋值给变量s1。在Java中字符串字面值会被放入字符串常量池中。如果字符串常量池中已经存在相同内容的字符串那么变量s1将指向已存在的字符串对象。如果字符串常量池中没有相同内容的字符串将创建一个新的字符串对象并将其放入字符串常量池中然后变量s1指向这个对象。 例如已经存在相同内容的字符串s5所以s5和s6相等 指向相同的内存地址 String s5 1 1;
String s6 11;
System.out.println(s5 s6); String s1 new String(hello); 这种方式是使用new关键字创建一个新的字符串对象不管字符串常量池中是否已经存在相同内容的字符串。这样做会在堆内存中创建一个新的字符串对象而不是放入字符串常量池中。因此变量s1将始终指向一个新的字符串对象。 例如创建一个新的字符串对象所以s1和s2指向的不同的内存地址 String s1 new String(hello); String s2 new String(hello); 则s1s2就是false
总的来说使用字符串字面值赋值给变量s1会利用字符串常量池来管理字符串对象而使用new关键字创建字符串对象会在堆内存中创建一个新的对象。这是两者的主要区别。
二、java中和区别
逻辑运算符 | |
位运算符 三、java与python循环的区别
python中没有do ... while结构java有 在 Java 中for、while 和 do...while 是三种基本的循环结构 在 Python 中也有 for 和 while 循环但没有 do...while 结构 java循环为for(int i0; i 10;i )无range函数相当于python中的for i in range(10)
四、switch-case的应用
1、判断某年-月有多少天
public class TestSwitch2 {public static void main(String[] args) {try{Scanner scanner new Scanner(System.in);System.out.println(请输入年份 1-12: );// 它的作用是从标准输入通常是键盘输入读取下一个整数。int year scanner.nextInt();System.out.println(请输入月份 1-12: );int month scanner.nextInt();int days;switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:days 31;break;case 4:case 6:case 9:case 11:days 30;break;case 2:// 闰年的判断条件为1、能被4整除但不能被100整除 2、或者能被400整除。// 闰年的年份有1904if (((year % 4 0) (year % 100 ! 0)) || (year % 400 0)){days 29;}else{days 28;}break;default:System.out.println(无效的月份);return;}System.out.println(month 月有 days 天);}catch (Exception e){System.out.println(输出异常信息 e);}}
}
2、判断输入身份证的合法性
package com.java.test1;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;/*** author 啊啊啊* date 2023/12/20 14:47* projectname javaTest202312* methode 判断输入身份证的合法性*/
public class TestSwitchCard {public static void main(String[] args) {// 1、输入身份证Scanner scanner new Scanner(System.in);System.out.println(请输入身份证号);// nextLine() 方法会读取并返回输入中的下一行包括换行符在内。注意要用String 要不然报错String idNumber scanner.nextLine();// 调用身份证是否合法的函数if (isValidIdNumber(idNumber)) {System.out.println(idNumber 身份证号是合法的);} else {System.out.println(idNumber 身份证号是不合法的);}}public static boolean isValidIdNumber(String idNumber) {// 2、判断是否为18位if (idNumber null || idNumber.length() ! 18) {return false;}// 3、判断最后一位是否正确 数字 或 X --- idNumber.charAt(i) 是 Java 中用于获取字符串 idNumber 中索引为 i 的字符的方法char lastChar idNumber.charAt(17);if (!Character.isDigit(lastChar) lastChar ! X lastChar ! x) {return false;}// 验证非最后一位都是0-9的数字组成for (int i 0; i 17; i) {// 不是数字if (!Character.isDigit(idNumber.charAt(i))) {return false;}}// 4、判断 年-月-日 组成的日期是否合法 411422 19950411 1221其中substring方法的参数是起始位置和结束位置不包括结束位置String birthday idNumber.substring(6, 14);SimpleDateFormat dateFormat new SimpleDateFormat(yyyymmdd);dateFormat.setLenient(false);try {dateFormat.parse(birthday);} catch (ParseException e) {return false;}// 均未返回false则返回true为合法身份证return true;}}其中需要注意的点有 1.1、键盘输入字符串 Scanner scanner new Scanner(System.in);
System.out.println(请输入身份证号);
String idNumber scanner.nextLine();1.2、键盘输入整数 Scanner scanner new Scanner(System.in);
System.out.println(请输入年份 1-12: );
// 它的作用是从标准输入通常是键盘输入读取下一个整数。
int year scanner.nextInt(); 2、根据return值的类型写 boolean 还是 int等 public static boolean isValidIdNumber(String idNumber) { 3、计算字符串的长度则 idNumber.length() 4、 idNumber.charAt(i) 是 Java 中用于获取字符串 idNumber 中索引为 i 的字符的方法 5、 Character.isDigit(9) 判断给定的字符是否是数字是则为true 6、截取字符串的第几位 到 第几位 截取的是 idNumber.substring(6, 14)包括索引6但不包括索引14位五、包装类和基本数据类型的使用 参考java包装类的介绍和使用_java 包装类传参-CSDN博客
使用包装类的示例场景代码
1、在集合类中存储基本数据类型ArrayListInteger list new ArrayList();
int num 5;
list.add(num); // 自动装箱将基本数据类型int转换为Integer对象并添加到ArrayList中2、将基本数据类型作为对象进行操作
void printNumber(Integer num) {System.out.println(num);
}int value 10;
printNumber(value); // 自动装箱将基本数据类型int转换为Integer对象并传递给printNumber方法3、类型转换或比较
String numberStr 123;
int number Integer.parseInt(numberStr); // 将字符串转换为整数
Integer a 5;
Integer b 5;
if (a.equals(b)) {System.out.println(a and b are equal); // 使用equals方法比较两个Integer对象的值
}六、包装类的详细介绍
1.1 Character 类Character 类在对象中包装一个基本类型 char 的值也就是需要使用char类型的对象时可以用Character创建一个Character类
Character ch new Character(a); // 用构造函数创建字符串
注意其中 Character类的方法有 isDigit() 是否是一个数字字符、isLetter() 是否是一个字母
1.2 String 类
方法1String str1 Tom;
方法2String str2 new String(Tom);
注意区别
String 创建的字符串存储在公共池中方法1而 new 创建的字符串对象在堆上方法2--所以地址是不一样的
String s1 Runoob; // String 直接创建 --- Runoob String s2 Runoob; // String 直接创建 String s3 s1; // 相同引用 String s4 new String(Runoob); // String 对象创建 --- new String(Runoob); String s5 new String(Runoob); // String 对象创建 七、java各种类型的定义方式
java各种类型的定义方式定义基本数据整数int number 10;浮点数double salary 100.51//双精度浮点数变量布尔类型boolean isStudent true;字符char grade A定义引用类型字符串类型String name Tom定义Scanner类型Scanner scanner new Scanner (System.in)定义Random类型Random random new Random();定义数组类型整数数组int[] numbers {1,2,3,4,5}字符串数组String[] names new String[5];二维数组double[][] maxtix {{1.0,2.0},{3.0,4.0}} 八、java数组相关的使用(示例)
声明数组变量 double[] myList int[] myList 创建数组 double[] myList new double[size]; double[] myList {1.9, 2.9, 3.4, 3.5}; int[] array new int[]; 数组可以作为参数传递给方法public static void printArray(int[] array) { for (int i 0; i array.length; i) { System.out.print(array[i] ); } }数组最为函数的返回值public static int[] reverse(int[] list) { int[] result new int[list.length]; for (int i 0, j result.length - 1; i list.length; i, j--) { result[j] list[i]; } return result; }多维数组String[][] str new String[3][4];多维数组初始化 int[][] a new int[2][3]; //二维数组 a 可以看成一个两行三列的数组。 参考Java 运算符 | 菜鸟教程