基础语法
Hello World
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
- Java 中所有的代码都必须包含在 class 中
- main 方法是程序的入口,并且 Java 是区分大小写的,如果写成 Main,那么程序将因找不到程序入口而无法运行
- 使用 public 修饰的 class 名(HelloWorld)须和源代码文件名相同
变量与常量
public class Var
{
public static void main(String[] args)
{
System.out.println("Define a variable a is ");
int a; //声明变量a
a = 5;
final double PI = 3.14;
System.out.println(a); // 打印一个整数a
System.out.println(PI); // 打印PI的值
}
}
- 在 Java 中,变量需要先声明才能使用
- 常量的值是不能被修改的
String
Java 中使用 String 类来定义一个字符串,字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。
String 对象的初始化格式有如下两种:
String s0 = "abc";
String s1 = new String("abd");
length()
:字符串标识符.length(),返回一个 int 类型的整数
equals()
:判断两个字符串对象的内容是否相同,如果相同则返回 true,否则返回 false,equalsIgnoreCase()
可以忽略大小写
charAt()
: 作用是按照索引值(规定字符串中第一个字符的索引值是 0,第二个字符的索引值是 1,依次类推),获得字符串中的指定字符
字符串连接有两种方法:
- 使用 +,比如 String s = "Hello " + “World!”。
- 使用 String 类的 concat() 方法。
用代码验证一下几种方法:
public class StringTest {
public static void main(String[] args) {
String s = "abcdefabc";
System.out.println("字符a第一次出现的位置为"+s.indexOf('a'));
System.out.println("字符串bc第一次出现的位置为"+s.indexOf("bc"));
System.out.println("字符a最后一次出现的位置为"+s.lastIndexOf('a'));
System.out.println("从位置3开始到结束的字符串"+s.substring(3));
System.out.println("从位置3开始到6之间的字符串"+s.substring(3,6));
}
}
字符a第一次出现的位置为0
字符串bc第一次出现的位置为1
字符a最后一次出现的位置为6
从位置3开始到结束的字符串defabc
从位置3开始到6之间的字符串def
StringBuilder
String 是无法被修改的,对 String 的修改,其实是新建了一个 String 对象。如果需要修改字符串的内容,可以使用 StringBuilder。它相当于一个存储字符的容器。
初始化格式有以下三种:
# 构造一个不包含任何字符且初始容量为 16 的 StringBuilder
StringBuilder a = new StringBuilder();
# 构造一个不包含任何字符且容量为 cap 的 StringBuilder
StringBuilder b = new StringBuilder(int cap);
# 构造一个 StringBuilder,内容初始化为 str
StringBuilder c = new StringBuilder(String str);
StringBuilder 常用方法:
方法 | 返回值 | 功能描述 |
---|---|---|
deleteCharAt(int index) | StringBuilder | 删除 StringBuilder 中指定位置的 char |
indexOf() | int | 返回子字符串首次出现在该字符串中的索引 |
capacity() | int | 返回当前容量 |
charAt(int index) | char | 返回序列中指定索引的 char 值 |
toSring() | String | 返回序列数据的 string 格式 |
输入
求输入数字之和:
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
System.out.println(a + b);
}
}
方法
Java 中的方法,可以将其看成一个功能的集合,它们是为了解决特定问题的代码组合:
访问修饰符 返回值类型 方法名(参数列表) {
方法体
}
public void functionName(Object arg) {
System.out.println("Hello World.");
}
当方法定义好之后,需要调用才可以生效,我们可以通过 main 方法来调用它,比如:
public class MethodDemo {
public static void main(String[] args){
method();
}
//这里要加上 static 关键字 因为静态方法只能调用静态方法
public static void method(){
System.out.println("方法被调用");
}
}
if
public class ScoreJudge {
public static void main(String[] args){
int score = 99;
if(score >= 60){
if(score >= 80){
if(score >= 90){
System.out.println("成绩优秀");
}
else{
System.out.println("成绩良好");
}
}
else{
System.out.println("成绩及格");
}
}
else{
System.out.println("需要补考");
}
}
}
switch
public class Draw {
public static void main(String[] args){
int num = 2;
switch(num){
case 1:
System.out.println("恭喜你,获得了一等奖");
break;
case 2:
System.out.println("恭喜你,获得了二等奖");
break;
case 3:
System.out.println("恭喜你,获得了三等奖");
break;
default:
System.out.println("很遗憾,下次再来");
}
}
}
while 和 do-while
public class SumOfEven {
public static void main(String[] args){
int i1 = 1, i2 = 1;
int sum1 = 0, sum2 = 0;
while (i1 <= 1000){ //循环1000次
if(0 == i1 % 2){ //判断是否为偶数
sum1 += i1; //将偶数加入到总数里
}
i1++; //i自增1
}
System.out.println("用while,1到1000中,所有偶数的和为:"+sum1);
do {
if (0 == i2 % 2){ //在条件语句中,将数值写在前面是为了防止将==写成了=
sum2 += i2;
}
i2++;
} while(i2 <= 1000);
System.out.println("用do-while,1到1000中,所有偶数的和为:"+sum2);
}
}
for
public class SumOfEven {
public static void main(String[] args){
int sum = 0;
for(int i = 1; i <= 1000; i++){
if(0 == i % 2){
sum += i;
}
}
System.out.println("用for,1到1000中,所有偶数和为:"+sum);
}
}
for(String s : args)这个格式是for each的形式,表示取出数组args[]中的每一个元素,就是循环一次就依次取出一个元素赋值给s,直到取完为止
跳转
break
关键字经常用在条件和循环语句中,用来跳出循环语句。continue
关键字的作用是跳过循环体中剩余的语句执行下一次循环。
public class Jump{
public static void main(String[] args){
//break 练习
for(int i = 1; i <= 10; i++){
System.out.println("循环第"+i+"次");
if(0 == i % 3){
break;
}
if(0 == i % 5){
System.out.println("我进来了!");
}
}
//continue练习 打印10以内的所有奇数
for(int i = 1; i <= 10; i++){
if(0 == i % 2) //判断i是否为偶数
continue; //通过continue结束本次循环
System.out.println(i);
}
}
}
数组
public class AverageScore {
public static void main(String[] args) {
int[] data = {61, 57, 95, 85, 75, 65, 44, 66, 90, 32};
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
System.out.println("平均成绩:" + sum / data.length);
}
}