java学习 不熟悉知识点归纳

Java开发

老师:罗乃希


java环境变量

配置系统环境变量
path : java bin目录;
JAVA_HOME :设置java 1.xx的目录 用于快速切换系统java版本


eclipse应用商店 eclipsemarketplace
可在help中install new software


eclipse -》记得设置utf-8 coding
windows-》preferences-》workspace 左下改为utf-8



eclipse
-》windows-》preference-》java -》installed jre 可以选择默认使用的jre



命名规范:

驼峰法则:适用于文件名 ShangHai
首母小写 之后单词首字母全部大写 shangHai
常亮 一般全部大写 之间用_隔开 SHANG_HAI

下划线开头 一般用于和系统变量区分 : 例如 _char 用户自定义
char 系统保留关键字


ait+/可以快速补全选择

ctrl+/ 是选中逐行注释
ctrl+shift+/ 是选中集体注释
ctrl+shift+\是选中集体注释取消

else if 分支判断 有一个成立则停止 即后方的else if 不会再运行
if则将所有判断都执行


Java语言支持的8中基本数据类型是:
  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char


强制转换至string 可以直接 +"" 进行自主转换


Switch 适用于单个值判断
当条件成立时 会从该分支继续向下运行 直到遇见break 或者最后的花括号(default:默认放在最后所以不加break,如果放在前面记得补上)


if比较适用于 比较一个区间范围内的值
switch比较适用于固定的选择不多的一个分支结构 常见于菜单选择
但这两种分支大多数情况下是可以实现互换的


三目运算:

(逻辑表达式)?(表达式1):(表达式2)

如果逻辑表达式为真返回 表达式1的值 如果逻辑表达式为假则返回表达式2的值

用于简化if分支语句代码量


i++ 先赋值再+1
++i 先+1再赋值

java 短路与 短路或

左边&&右边
左边如果为假 则右边将不在运行

左边||右边
当左边为真时 则右边不在运行


String ch ="y";
equals是用于判断值 ==判断包括类型
"y".equals(ch)
ch.equals("y")
String的拼接用的是append 所以
s1="1";s2="2";
s3="12";
s3==s1+s2; //false
s3==s1+"2";//false
//但是如果用了final修饰
final String s4="1";
s3==s4+"2"; //true

//定义方法getS返回2
 public static String getS(){  
        return "2";  
    }  

s3=="1"+getS(); //false 编译器无法保证getS方法返回"56"且不变,所以无法直接优化成"56"),所以为false。


public native String intern();  
       这个方法的意思是:如果当前字符串存在于字符串池中,就返回池中的字符串对象的引用;否则添加当前字符串对象到字符串池中,然后返回当前字符串对象的引用。

public static void main(String[] args) {  

String s = new String(new char[]{'1','4','7'});
s.intern();
System.out.println(s == "147"); //true 如果不加s.intern() 返回false
String s2 = new String("258");
s2.intern();
System.out.println(s2 == "258"); //false
}  





利用3目运算优化代码:(不适用于复杂逻辑)

/*if(flag){
System.out.println("登陆成功");
}else
System.out.println("机会用完,账号被锁定");*/
//优化后:
System.out.println(flag?"登陆成功":"机会用完,账号被锁定");
scan.close();
(当拥有公用语句时(此处为System.out.println),所以可以使用)





break continue 流程控制语句

相同点:都不再执行后面的语句

不同点:break 跳出循环
continue 跳出本次循环 继续下次(注意下次循环的判断仍然需要进行 包括do while)




在if,for,while等结构体中声明的变量是局部变量,出了本身所在的{}就会被销毁


数组




int[] arr1 = new int [数组长度] //从索引0开始 索引最大值为数组长度-1
int[] arr2 = new int[]{1,2 ,3,4};
int[] arr3 = {1,2,3};
上面第2,3种可以直接初始化数组并赋值
而第一种系统会默认为数组赋值
只给数组长度的数组在声明时会自动赋值 : int 类型赋0 String 类型 赋null double 0.0 引用数据类型 赋null

Java toString源码:

public static String toString(int[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";

StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}


int[] arr1=null;
int[] arr2=new int[]{};

Arrays.toString(数组名称) 将数组转为string显示出来 只能打印一维数组

boolean equals(数组1,数组2); 对比两个的值 数组的话 必须索引和值都相同 才会返回true


sort(数组名称) 对数组进行排序 默认升序(包括字母字符 按unicode)

Arrays.fill(数组名称,需要修改成的值);

int[] arr_new = Arrays.copyOf(原数组名称,数组长度) 可以定义新数组 和其长度
新数组长度短 则干掉最后的
新数组长度长 则增加默认值

int Arrays.binarySearch(array,val) 查询值为val在数组array中的下标 要求数组升序排列


二维数组 int[][] arr =new int [二维数组长度][];






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值