【无标题】

java知识点

1、java编程语言的特点(优点)
1.跨平台 2.面向对象 3.健壮性 4. 分布式 5.多线程 6.动态性

执行java程序的步骤 .java—javac编译–.class—运行
2、cs结构与bs结构
C/S结构: C/S是Client/Server的缩写。服务器通常安装数据库系统,而客户端需要安装专用的客户端软件与服务器进行交互。(例如word等软件无需服务器也可运行)

B/S结构:(浏览器/服务器) B/S是Browser/Server的缩写,客户机上只要安装一个浏览器,服务器一般安装数据库、服务器软件。在这种结构下,用户界面完全通过浏览器向服务器上的服务器软件发送请求,服务器接收到请求后执行逻辑判断并返回相应信息。
B/S结构采用请求/响应模式进行交互

Web开发:B/S结构软件、或网站的开发。

3、JVM JRE JDK对比
JVM:java虚拟机
JRE:java运行时环境
JDK:java开发工具包
4、java平台版本都有哪些
javaSE:java基础
JavaEE:java企业级应用
JavaME:java微小版
5、java中的注释
单行注释://
多行注释:/* /
Javadoc注释:/
* */
6、java中给标识符起名语法,变量、类名命名的规范
语法:只能有数字、字母、_ $组成 不能以数字开头。不能是关键字,不能包含空格。
规范:简短且能清楚的表明变量的作用,通常第一个单词的首字母小写,其后单词首字母大写 驼峰命名
7、数据类型
基本数据类型(类型 字节数 表示数的范围)
类型 字节数 表示数的范围
byte 1 -128~127
short 2 -32768~32767
int 4 -231~(231)-1
long 8 -263~(263)-1
float 4
double 8
boolean 1 true/false
char 2 \u0000~\uFFFF
引用数据类型
除了八大基本数据类型以外,剩下的类型都是引用数据类型
例如 类、数组、集合…
8、类型转换
前提:类型得兼容
自动类型转换 目标类型大于原类型 例如 double型大于int型
强制类型转换 (类型名)表达式

9、java中实现多分支结构(多重if与switch对比)
条件分支的使用场景:
1.等值判断即可以用if 还可以用switch
2.区间的判断只能用if
多重if选择结构:if后的条件表达式返回值必须是boolean类型,不能是0或1
switch表达式类型是变量,可以是byte, short, int, char, enum, String,switch/case中必须有break语句,没有break会发生switch穿透,逻辑错误.
10、break与continue的对比
break:终止循环,没有下一次,结束了
continue:停止当前循环,继续下一次循环
11、java中的循环:while 、 do while、for对比
1.
while(循环条件){
循环体(循环操作);

  }
  先进行判断,循环条件成立(true)才会执行循环操作,循环操作执行一遍之后,再一次的进行循环条件判断;

do{
循环体(循环操作);
}while(循环条件);
先执行,不管条件成立与否,至少执行一次.
3.
for(条件表达式1;条件达表式2;条件表达式3){
循环体(循环操作);
}
条件表达式1仅仅在循环初始化的时候执行一次,进行条件表达式2判断,如果表达式2成立(true),执行循环体操作,
循环体执行一次之后,进行的是条件表达式3操作,继续执行表达式2,2如果成立执行循环体,接下来执行表达式3
继续表达式2的判断…
4.
循环的使用场景:
1.固定次数的循环首选for循环
2.涉及到先判断再执行的可以选择 while 或者for
3.根据需求趋于合理化选择。
双重循环
12、java中的运算符
赋值运算符 =
算术 + - * / %
关系 > < == != >= <=
逻辑 && || !
三目运算符(条件运算符)
表达式1?表达式2:表达式3
计算表达式1的值如果为true ,运算结果是表达式2的结果,如果为false返回表达式3的结果。
位运算符 << >> & |
运算符的优先级别:
单目>双目>三目
算术>关系>逻辑>=
注意:可以利用小括号控制优先级
13、&和&&区别 |和||的区别
&是位运算符 二进制数按位与 一假则假
&&是逻辑运算符两条件都成立返回值为true
|是位运算符 二进制数按位或 一真则真
||是逻辑运算符 有一个条件成立返回为true

14、总结数组的特点
数组是一个变量,可以放多个同一类型的数据,数组长度不可变,每个元素可以通过下标访问,下标从0 开始
数组经典问题

15、简述Arrays类的常用方法
1.Arrays.sort(数组名):对数组进行升序排列
2.Arrays.equals:判断两个数组是否相等(里面的数据是否一样)
3.toString方法实现将数组转换成字符串
4.fill方法实现将数组里面的元素都赋值为指定的值
5.copyOf方法实现创建一个新的指定长度的数组,将原来的数组中的元素存进去
6.binarySearch实现查找元素在数组中的下标,用这个方法时要对数组进行升序排列
16、二维数组
声明、赋值、遍历
int[][] a=new int[2][]
a[][]=5;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
System.out.println(a[i][j]);
}
}
17、冒泡排序
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length-1; j++) {
if(a[j]>a[j+1]){
int tem = a[j];
a[j] = a[j+1];
a[j+1] = tem;
System.out.println();
}
}

	}

18、包
一个.java的类文件 第一行 所在的包 第二个部分 导入的包
第三个部分 类

import 包名.类名;

19、类与对象
类比较抽象,抽象的概念(相同的属性和方法的实例的抽象)
对象比较具体,具体到某一个人或实体等(类的实例)
类是对象的类型,对象是类的实例。
一个类中–多个对象

20、方法调用的两种情况:
本类中方法调用
其他类中方法调用
21、方法的语法:
修饰符 返回值类型 方法名(参数类型 参数名…)throws 异常类型{
方法体;
}

方法返回值与return
方法如果具备返回值,方法内部一定要通过return子句返回。
如果方法没有返回值,方法内部可以没有return子句。

22、成员变量和局部变量的区别
1.作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
2. 初始值不同
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值
23、调用方法时注意
传参 、返回值
String类
位于java.lang包中 创建时有两种方式 一旦创建值不可更改的
直接赋值String s=“hello”;
new 赋值String s2=new String(“world”);
String s2=s.concat(“d”);

25、String类的常用方法并说明方法的功能
1.length() 获取字符串的长度
2. equals()比较字符串值
3. equalsIgnoreCase()不区分大小写比较
4. toUpperCase() 转大写,toLowerCase()转小写
5.public int indexOf(int ch) 从左往右查找出现的第一个字符
public int indexOf(String str) 从左往右查找出现的第一个字符串
6.查找
public int indexOf(int ch,int index)
从index位置开始,从左往右查找出现的第一个字符
public int indexOf(String str,int index)
从index位置开始,从左往右查找出现的第一个字符串
public int lastIndexOf(int ch) 从右往左查找出现的第一个字符
public int lastIndexOf(String str) 从右往左查找出现的第一个字符串
public int lastIndexOf(int ch,int index)
从index位置开始,从右往左查找出现的第一个字符
public int lastIndexOf(String str,int index)
从index位置开始,从右往左查找出现的第一个字符串
7.public String substring(int index)
从index位置开始截取字符串
public String substring(int index1,int index2)
从index1位置开始截取到index2位置(包括index1位置的元素,不包括index2位置的元素) 从index1位置开始截取index2-index1个元素
8.过滤字符串前后的空格
public String trim(){}
9.分割字符串
public String[] split(String str)
按照参数进行字符串分割
public String[] split(String str,int num)
按照str参数进行字符串分割,结果最多分割出num个字符串
10.根据位置获取制定的字符
public char charAt(int index)
11.替换
public String replace(char old,char new)
public String replace(String old,String new)
从原字符串中将old字符串替换成new
12.转换成字符数组
public char[] toCharArray()
13.基本数据类型转换成String类型
String numStr=String.valueOf(10);
26、String与StringBuffer、StringBuilder的区别
String的值一旦创建,值不可更改的,所以当频繁改变字符串值时,使用String效率低,这时使用StringBuffer、StringBuilder可以提高效率,StringBuffer、StringBuilder值可变的,所以可以提高效率。StringBuffer 线程安全的,StringBuilder 线程不安全的。

27、StringBuffer类 位于java.lang包中
创建方式
StringBuffer buffer=new StringBuffer();
StringBuffer buffer=new StringBuffer(“abc”);
常用的方法
1.追加元素
public StringBuffer append(String/int/char/double/boolean s)
2.插入元素
public StringBuffer insert(int index,String/int/char/double/boolean s)
在index位置插入元素,原位置的元素后移
3.翻转元素
public StringBuffer reverse(){}
4.转换成字符串
public String toString(){}

什么时候用StringBuffer?
1、频繁改变字符串值String效率低,为了提高效率使用StringBuffer
2、使用里面特有的方法时

28、StringBuffer类型对象–String对象
String对象–StringBuffer类型对象
1.StringBuffer–String
String s=StringBuffer对象.toString();
2.String–StringBuffer
StringBuffer buffer1=new StringBuffer(字符串);

29、==
基本数据类型:比较值是否相同
引用数据类型:比较对象的引用地址是否相同(是否指向同一个实例空间)

与equals对比
equals方法属于Object类方法,默认实现比较对象的地址,与
一样的。String重写了Object的equals方法,所以比较字符串值。

30、在java中,参数传递都是按值拷贝传递。
如果参数是基本数据类型,传递的是真正的数据值
如果参数是引用数据类型,传递的是地址(引用中存储的地址–实例空间的地址)
基本数据类型作为参数,在方法内部改变参数的值,不会影响到外部
引用数据类型作为参数,在方法内部改变参数的状态,会影响到外部
引用数据类型作为参数,在方法内部改变了引用对象(重新new),不会影响到外部
如果参数类型是String类型,注意在方法内部改变参数的值,不会影响到外部

31、为什么java是半编译半解释性的语言
首先将.java源文件编译成.class字节码文件,由jvm逐行的解释生成的字节码文件,从而实现代码的运行。
32、java如何实现跨平台
依赖于jvm实现跨平台,需要根据操作系统的不同下载不同版本的jvm,如在windows系统下执行,.java源文件通过windows系统下的jvm进行编译,解释,运行。
33、Java的GC机制
GC—垃圾回收,java支持自动垃圾回收。
程序运行过程中,如果这个对象没有引用了(不被引用了),这时垃圾回收机制会自动进行垃圾处理,调用这个对象的finalize方法进行垃圾回收。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值