因为个人原因,Java语法自己学了好几次,但每次由于各种原因,之后没有经常使用Java,语法又忘掉了,所以这次在这里总结一下Java知识点,以便以后进行复习。
开发JAVA所需要的安装包有:JDK、JRE、Eclipse
JDK: 全称是 Java Devolpment Kit,即Java开发套件,包含了JRE和Java工具。
JRE: 全称是 Java Runtime Environment,即Java运行环境,包含JVM(Java虚拟机)标准实现及Java核心类库。Java程序编译后需要JRE环境才能运行,因此Java是一种半编译半解释型语言。
Eclipse: 开发Java程序的IDE,为java开发提供了良好的界面和工具。
另外Java API文档在开发中也是必不可少的。
\java\bin
和\java\jre\bin
加入到环境变量PATH。java -version
,显示内容类似如下说明成功安装。java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Java中变量主要分为两大类: 基本数据类型和对象类型。
byte short int long
float double
char
boolean
java为了方便,为每种基本类型都提供了包装类,让这些类型具备了对象的属性,包装类型可以解决一些基本类型解决不了的问题。各类型对应的包装类如下:
byte short int long
=> Byte Short Integer Long
float double
=> Float Double
char
=> Character
boolean
=> Boolean
对象类型有:数组Array、字符串String、类Class、接口interface、抽象类abstrct
类型这些之后会详细说明。
基本数据类型转换:高精度类型可以自动向低精度类型转换,反过来则需要强制类型转换。
类类型转换: 父类可自动向子类转换(向上转型),反过来需要强制转换(向下转型)
输出比较简单,一般使用 System.out.println()
和 System.out.print()
在控制台输出数据。前者输出后会自动换行。
输入稍微麻烦一些,使用Java提供的Scanner
类,参考如下代码:
Scanner scanner = new Scanner(System.in); //初始化scanner
String string = scanner.next(); //输入一个字符串
int i = scanner.nextInt(); //输入一个整数
String line = scanner.nextLine(); //输入一行字符串
Scanner提供了各种nextType()用来输入对应基本类型数据,注意next()方法和nextLine()方法的区别,前者输入一个字符串,遇到空白字符就结束了,后者可以输入一行,可以输入空白字符。
Java运算符基本同C/C++,使用也一样,所以不多说明了。
条件语句if、else、switch和循环语句while、do-while、for用法同C/C++。
不同的是JAVA增加了一个forEach循环,可以用来遍历像Array、List之类的序列。
int[] nums = {1, 2, 3, 4, 5};
//普通for循环
for(int i = 0; i < nums.length; ++ i) {
System.out.println(nums[i]);
}
//效果等价上面的循环
for(int num: nums) {
System.out.println(num);
}
声明数组有两种方式:
DataType[] array; // 首选的方法
DataType array[]; // 同上面等价但不推荐
创建数组也有两种方式:
DataType[] array = new DataType[length]; //使用new动态创建
DataType[] array = {val1, val2, val3, ...}; //用列表的方式创建
数组在Java其实是一种类,它继承于Object。并增加了length属性和clone()方法。
其中length属性可以用来获取数组长度,而clone可以复制(深拷贝)一个相同的数组。
String也是一种对象,继承与Object,用来在java中对字符串进行操作。
//静态赋值
String str = "luoluolzb";
//动态new创建
String str = new String("luoluolzb");
//使用字符数组创建
char[] data = {'a', 'b', 'c'};
String str = new String(data);
其他的构造方法参考api文档。
String提供了丰富的方法来满足各种对字符串操作的需求。下面介绍几种常用的字符串操作方法。
使用length()方法可以获取字符串长度 。
String s = "abc123def";
System.out.println(s.length()); //输出 9
在Java中,可以直接使用+
号拼接两个字符串,或者拼接一个字符串和可以转换为字符串的类型(基本类型可以自动转换为String,定义了toString()方法的类也可以自动转换)。
例如:
public class Test {
public String toString() {
return "Test";
}
public static void main(String[] args) {
String s1 = "abc", s2 = new String("123");
//输出 abc123
System.out.println(s1 + s2);
//输出 abcdef
System.out.println(s1 + "def");
//输出 abc123
System.out.println(s1 + 123);
Test test = new Test();
//输出 abcTest
System.out.println(s1 + test);
}
}
使用int charAt(int index)
方法,获取字符串中的某个字符。
String s = "abc123def";
//输出 a
System.out.println(s.charAt(0));
//输出 3
System.out.println(s.charAt(3));
使用boolean equal(Object o)
方法判断两个是否相等。
使用int compareTo(String s)
方法字典序比较两个字符串。
String s = "abc123def";
//输出 true
System.out.println(s.equals("abc123def"));
//输出 48,大于0说明大于"abc123456"
System.out.println(s.compareTo("abc123456"));
使用int indexOf(char ch)
在字符串中搜索字符。
使用int indexOf(String s)
在字符串中搜索字符串。
String s = "abc123def";
//输出 2
System.out.println(s.indexOf('c'));
//输出 6
System.out.println(s.indexOf("def"));
使用 String substring(int beginIndex)
截取字符串中从beginIndex开始到末尾的子字符串。
使用 String substring(int beginIndex, int endIndex)
截取字符串中从beginIndex到endIndex的子字符串。
String s = "abc123def";
//输出 123def
System.out.println(s.substring(3));
//输出 123
System.out.println(s.substring(3, 6));
String 还有其他很多方法,参考API文档。
Math是Java中提供数学计算的类,里面的方法都是静态方法,所以可以直接使用 Math.method()
方式进行调用。
Math类主要提供的方法有:
具体说明参考API文档。
本文标签: Java
暂无评论,赶紧发表一下你的看法吧。