我的Java问题集(1)(重点、难点、疑点)未完待续...

学习Java这么久了,总算也了点笔记,一个一个字码的哟!

1、Java中的int等类型变量既然已经有默认值为0,为什么还会出现没有初始化,编译出错呢?

一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值:

Boolean false

Char ‘\u0000‘(null)

byte (byte)0

short (short)0

int 0

long 0L

float 0.0f

double 0.0d

如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他初始化,否则将得到编译错误的提示;

2、不使用第三个变量交换两数的值。

方法一、a=a^b;

b=b^a;

a=a^b;

方法二、a=a+b;

b=a-b;

a=a-b;

方法三、a=a*b;

b=a/b;

a=a/b;

3、基本数据类型不包括string

4、两个数值进行运算时结果至少是int型,如果参与运算的两个数值级别比int型低或是int型,结果就为int型,若有一个数值级别比int型高,则结果与数值高的级别相同。

5、数组初始化时不可将静态初始化和动态初始化同时使用,即不可在数组初始化时指定数组长度的同时为每一个数组元素赋值,    如:Stringpoetry[]=newString[5]{“1”,”2”,”3”,”4”,”5”}编译会出错

6、foreach语句

for(数据类型 变量名:数组名){

//循环体

}该语句不能通过循环改变数组中元素的值

7、定义数组时,内层数组是在外层数组内创建的,所以不能没有行数,但可以没有列数

8、关于获取StringBuffer对象的容量问题

1、没有指定容量的大小时,系统默认16字符的容量

2、如果修改后的StringBuffer对象容量小于字符串的内容,增长规律为:(容量+1)*2

3、如果2增长后还是小于字符串容量则它的容量就等于字符串容量

9、类中的成员变量如果隐藏的话可以通过setName(),setAge()之类的形参与数据成员同名,可以通过前缀this访问该成员变量

10、只要是类就一定有构造函数,并且只要创建对象会执行构造函数,构造函数不能直接访问构造函数,但可以使用this关键字

11、静态方法无法访问非静态方法的实例变量和方法

12、程序入口main()函数输入参数时,每一个参数要用空格分开,如果参数中有空格,则将其用(“”)括起来

13、一个原文件中只能有一public类,且累的访问权限只有public和default两种

14、直接在类中定义的且没有加static的代码块{}称为构造块,每次创建对象时都要调用,并优先于构造函数

15、无论创建多少对象,静态代码块之执行一次

16、子类不能继承父类的构造函数,但可以通过super关键字调用

17、子类和父类在同一包中,子类不能调用父类的private的属性和方法,但可以调用非private的属性和方法。若不爱哟个包中,在则不可访问private和默认级别的属性和方法

18、出现递归构造器调用错误时,构造方法之间相互调用时,一定要留出一个出口,一般会将无参构造函数作为出口,即它不在带哦用其他构造函数。

19、对象的成员变量初始化顺序

1、父类静态成员和静态初始化块,按在代码中的顺序执行

2、子类静态成员和静态初始化块,按在代码中顺序执行

3、父类实例成员和实例初始化块,按在代码中顺序执行

4、执行父类构造方法

5、子类实例成员和实例初始化块,按在代码中顺序执行

6、执行子类构造方法

20、parseBoollean()方法在接收字符串时,规则和Boolean类的构造方法一样,只要字符串为true(区分大小写),返回值为true,否则返回false

21、final修饰基本数据变量后不可修改,且只能在定义时初始化或用构造块初始化;修饰引用数据类型后,引用不可修改,但是可以修改引用对象的属性;只有非抽象类的方法才可以被final修饰

22、使用正则表达式验证邮箱格式

import java.util.Scanner;

public class ScannerDemo {

public static void main(String[] args){

Scanner scan = new Scanner(System.in);

String pattern = "[a-zA-Z0-9_\\.]+@[a-zA-Z0-9]+[\\.a-zA-Z]+$";

System.out.println("请输入邮箱地址:");

String mail=null;

if(scan.hasNext(pattern)){//输入数据

mail=scan.next();      //将数据再次读入

System.out.println("您输入的邮箱:"+mail);

}else{

System.out.println("您输入的邮箱格式不正确!");

}

}

}

我的Java问题集(1)(重点、难点、疑点)未完待续...

时间: 2024-10-08 19:53:47

我的Java问题集(1)(重点、难点、疑点)未完待续...的相关文章

java中的集合操作类(未完待续)

申明: 实习生的肤浅理解,如发现有错误之处,还望大牛们多多指点 废话 其实我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList<XXXXX>(); 但是我仅仅只是了解,list这个类是一个可变长用来存储的对象实例的类,我甚至觉得这个List对象可以理解成数组,但是却又与java中咱们正常理解的数组很多的不同,比如说,他的长度可以随着需要自动增长,比如说,实例化一个List类就和咱们声明数组的时候是不一样的! 今天的实习生活

Java Web 深入分析(6) Tomcat 未完待续

Tomcat Server处理一个http请求的过程 假设来自客户的请求为:http://localhost:8080/test/test.jsp 1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得 2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应 3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host 4) En

java员工管理系统练习(未完待续)

员工管理系统功能包括: 1.添加新员工: 2.显示某一员工信息: 3.显示所有员工信息: 4.修改员工薪水: 5.删除某一员工. 代码如下: 1 package test; 2 import java.io.*; 3 import java.util.*; 4 public class ManageSystem { 5 6 public static void main(String[] args) throws IOException{ 7 // TODO Auto-generated met

Java开发记事本(未完待续)

右键菜单图 打印图 设置背景颜色.字体样式.字体颜色图 主要 package com.sxt.nodepad.view; import java.awt.BorderLayout; public class NotepadMainFrame extends JFrame implements ActionListener{ /** * 序列号 */ private static final long serialVersionUID = 8585210209467333480L; private

韩顺平循序渐进学java 第21讲 集合(未完待续)

21.1 引出问题 一个问题? 前面我们学习了数组,充分体会到数组的优越性,就是可以存储同一类型的数据,但是我们假设有这样的需求,大家看看如何解决? 请做一个公司职员薪水管理系统,要求完成如下功能: 1.当有新员工时,将该员工加入到管理系统: 2.可以根据员工号,显示该员工的信息: 3.可以显示所有员工信息: 4.可以修改员工的薪水: 5.当员工离职时,将该员工从管理系统中删除: 6.可以按照薪水从低到高顺序排序: 7.可以统计员工的平均工资.最低和最高工资. 解决之道-链表或集合类: 我们想,

Java 集合Collection——初学者参考,高手慎入(未完待续)

1.集合简介和例子 Collection,集合.和数学定义中的集合类似,把很多元素放在一个容器中,方便我们存放结果/查找等操作. Collection集合实际上是很多形式集合的一个抽象. 例如十九大就要召开,那么到人民大会堂与会的人就是一个集合 ,这个集合里装载了许多元素,每个元素就是一个人大代表. 再比如北京的全聚德烤鸭非常出名,每天都有人排队购买,这个队也是一个集合. 上面这两个例子就展示了两个不同的集合,人大代表的集合其实就是一个简单的聚合,把若干元素集中在一起.第二个例子,排队就具有比较

【未完待续】Java蓝桥杯--算法训练(1)典型问题的递归框架

预备练习(一) 字母的全排列问题: 1 package package1; 2 3 //对字母进行全排列 4 import java.util.*; 5 6 public class A1 { 7 8 static List f(String s) { 9 List lst = new Vector(); 10 11 // 出口 12 if (s.length() == 1) { 13 lst.add(s); 14 return lst; 15 } 16 17 // 下面是递归的相似性 18 /

【06】Java注解 (未完待续)

B站地址:https://www.bilibili.com/video/av62102209 —————————————————————————————————————— 目录: 1.注解作用分类 2.自定义注解 —————————————————————————————————————— 1.注解作用分类 1)代码分析/检查代码,如:@override:检查方法是否是父类方法 2)生成文档,如jdk文档 编码格式 2.Java中预定义的注解使用 1)@Override名称不一样会报错 不加,就

USACO(含training section)水题合集[5/未完待续]

(1) USACO2.1 Ordered Fractions 枚举 排序即可,注意1/1 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int N=165,L=1e5; struct fr{ int a,b; fr(int q=0,int w=1):a(q),b(w){} }f[L]; int n,cnt