赞
踩
方法是程序中最小的执行单元, 是对代码的封装,从而使代码管理更加简易
方法的定义格式如下:
{
//public static 表示这个方法全局有效,被整个程序所共享
public static typename1 method(typename x,...){
语句体;
return variable of typename1;
}
}
在一个类中定义了多个同名的方法,这些方法的参数和返回类型不同,Java虚拟机会通过参数的不同区分不同的方法
{
public static void fn() {
System.out.println("Hello World");
}
public static int fn(int a) {
return a;
}
}
在Java中可以类比Rust语言的所有权规则,当返回方法体内部创建的数组时,其所有权发生改变,因此在方法结束时,改数组不会被清除
Java中堆上内存如果没有被指向,没有被使用就会被回收
方法调用时,会在栈上开辟一块空间,方法的数据上都存在这块方法帧中,当方法结束时只会释放在栈上的方法帧,如果在方法调用时,申请了一块堆空间,该空间不会被自动释放
使用new关键字创建的对象实际值都存储在堆内存上, 而在栈上有一个对对象的引用(地址),同时堆内存上还有一个类模版的地址,指向方法区
this代表方法调用者的地址值
Java中可以使用 System.out.printf
进行格式化输出,类比c语言即可
//%s为占位符,会被替换为逗号后面的字符串
System.out.printf("Hello %s!", "World");
占位符 | 说明 | 占位符 | 说明 |
---|---|---|---|
%d | 格式化输出整数 | %o | 八进制输出 |
%s | 格式化输出字符串 | %x | 16进制小写输出 |
%f | 格式化输出浮点数 | %X | 16进制大写输出 |
%c | 格式化输出字符 | %e | 带指数的浮点数 |
System.out.printf("%7.2f", 1.13821);
7表示会用空格补全输出为7位,.2表示保留两位小数
在Java中要掌握的字符串类有:String, StringBuilder, StringJoiner
//直接创建,系统会检查字符串在串池(堆上)有没有这个字符串,若有则复用,否则创新
String s1 = "abc";
//使用new和构建方法创建
String s2 = new String();
String s3 = new String("hello");
//传递字符数组
char[] chs = {'a', 'b'};
String s4 = new String(chs);
String s1 = "hello";
String s2 = "Hello";
//比较s1 and s2是否值相对
if(s1.equals(s2)) {
System.out.println("true");
}
//使用equalsIgnoreCase比较s1 and s2忽略大小写情况下是否值相等
if(s1.equalsIgnoreCase(s2)) {
System.out.println("`true");
}
s.charAt(i)
返回一个char类型的值substring(int begin, int end)
截取[begin, end)索引的字符串,返回类型是字符串replace(old, new)
传入旧的字符串和替换的字符串,返回类型是字符串str.toCharArray
将字符串转换为字符数组,并返回这个数组StringBuilder可以看成一个容器,创建只会里面的内容可以变化
StringBuilder sb = new StringBuilder("hello");
sb.append("world")
;sb.reverse
;sb.length()
;sb.toString()
;StringJoiner也可以看成是一个容器
StringJoiner(", ","[", "]")
传入三个参数,第一个是间隔符号,第二个是开始符号,第三个是结束符号sj.add()
;sj.length()
;sj.toString
;Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。