Java语法汇总-基础语法篇

Java基础语法汇总

最近被调到Java项目组帮忙,领导让用Java写个算法,所以临时啃啃Java的基础语法,在这里汇总记录一下。这篇是汇总Java最基础的语法,不包含面向对象的内容,面向对象的内容太多了,留到下一篇中汇总。

1. 基本数据类型
  • 整数类型:byte,short,int,long
  • 浮点数类型:float,double
  • 字符类型:char
  • 布尔类型:boolean
  • 常量:final double PI = 3.14;
package cn.zhousonglin;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        int i = 2147483647;
        int i2 = -2147483648;
        int i3 = 2_000_000_000; // 加下划线更容易识别
        int i4 = 0xff0000; // 十六进制表示的16711680
        int i5 = 0b1000000000; // 二进制表示的512
        long l = 9000000000000000000L; // long型的结尾需要加L

        float f1 = 3.14f;
        float f2 = 3.14e38f; // 科学计数法表示的3.14x10^38
        double d = 1.79e308;
        double d2 = -1.79e308;
        double d3 = 4.9e-324; // 科学计数法表示的4.9x10^-324
        
        boolean b1 = true;
        boolean b2 = false;
        boolean isGreater = 5 > 3; // 计算结果为true
        int age = 12;
        boolean isAdult = age >= 18; // 计算结果为false
        
        char a = 'A';
        char zh = '中';
        System.out.println(a);
        System.out.println(zh);
        
        final double PI = 3.14; // PI是一个常量
        double r = 5.0;
        double area = PI * r * r;
        
        System.out.println( "Hello World!" );
    }
}
2. 布尔运算符
  • 比较运算符:>,>=,<,<=,==,!=
  • 与运算 &&
  • 或运算 ||
  • 非运算 !
  • 三元运算符 int x = n >= 0 ? n : -n;
boolean isGreater = 5 > 3; // true
int age = 12;
boolean isZero = age == 0; // false
boolean isNonZero = !isZero; // true
boolean isAdult = age >= 18; // false
boolean isTeenager = age >6 && age <18; // true

int n = -100;
int x = n >= 0 ? n : -n;
System.out.println(x);
3. 字符和字符串
  • 常见的转义字符
    \" 表示字符"
    \’ 表示字符’
    \\ 表示字符\
    \n 表示换行符
    \r 表示回车符
    \t 表示Tab
    \u#### 表示一个Unicode编码的字符
int n1 = 'A'; // 字母“A”的Unicodde编码是65
int n2 = '中'; // 汉字“中”的Unicode编码是20013

// 注意是十六进制:
char c3 = '\u0041'; // 'A',因为十六进制0041 = 十进制65
char c4 = '\u4e2d'; // '中',因为十六进制4e2d = 十进制20013

String s = ""; // 空字符串,包含0个字符
String s1 = "A"; // 包含一个字符
String s2 = "ABC"; // 包含3个字符
String s3 = "中文 ABC"; // 包含6个字符,其中有一个空格

String s = "abc\"xyz"; // 包含7个字符: a, b, c, ", x, y, z
s = "abc\\xyz"; // 包含7个字符: a, b, c, \, x, y, z
String s = "ABC\n\u4e2d\u6587"; // 包含6个字符: A, B, C, 换行符, 中, 文

int age = 25;
String s = "age is " + age;
System.out.println(s);

String s11 = null; // s1是null
String s22; // 没有赋初值值,s2也是null
String s33 = s1; // s3也是null
String s44 = ""; // s4指向空字符串,不是null
4. 数组操作
  • 数组基础
// 5位同学的成绩:
int[] ns = new int[5];
ns[0] = 68;
ns[1] = 79;
ns[2] = 91;
ns[3] = 85;
ns[4] = 62;
System.out.println(ns.length); // 5
int[] nss = new int[] { 68, 79, 91, 85, 62 };
int[] nsss = { 68, 79, 91, 85, 62 };

String[] names = {"ABC", "XYZ", "zoo"};
String s = names[1];
names[1] = "cat";
System.out.println(s); // s是"XYZ"还是"cat"?
  • 打印数组
int[] ns = { 1, 1, 2, 3, 5, 8 };
System.out.println(Arrays.toString(ns));
  • 二维数组
int[][] nss = {
        { 1, 2, 3, 4 },
        { 5, 6, 7, 8 },
        { 9, 10, 11, 12 }
};
System.out.println(Arrays.deepToString(nss));
  • 命令行参数
public class Main {
    public static void main(String[] args) {
        for (String arg : args) {
            if ("-version".equals(arg)) {
                System.out.println("v 1.0");
                break;
            }
        }
    }
}
// 命令行执行
# java Main -version
5. 输入输出

Java的格式化功能提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串:

占位符说明
%d格式化输出整数
%x格式化输出十六进制整数
%f格式化输出浮点数
%e格式化输出科学计数法表示的浮点数
%s格式化字符串
package cn.zhousonglin;
import java.util.Scanner;

public class App 
{
    public static void main( String[] args )
    {
        // 输出
        System.out.print("A,");
        System.out.print("B,");
        System.out.print("C.");
        System.out.println();
        System.out.println("END");
        double d = 3.1415926;
        
        // 格式化输出
        System.out.printf("%.2f\n", d); // 显示两位小数3.14
        System.out.printf("%.4f\n", d); // 显示4位小数3.1416
        int n = 12345000;
        System.out.printf("n=%d, hex=%08x", n, n); // 注意,两个%占位符必须传入两个数

        // 输入
        Scanner scanner = new Scanner(System.in); // 创建Scanner对象
        System.out.print("Input your name: "); // 打印提示
        String name = scanner.nextLine(); // 读取一行输入并获取字符串
        System.out.print("Input your age: "); // 打印提示
        int age = scanner.nextInt(); // 读取一行输入并获取整数
        System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
    }
}

6. 流程控制
  • if 分支
int n = 70;
if (n >= 90) {
    System.out.println("优秀");
} else if (n >= 60) {
    System.out.println("及格了");
} else {
    System.out.println("挂科了");
}
System.out.println("END");
  • switch
int option = 2;
switch (option) {
   case 1:
       System.out.println("Selected 1");
       break;
   case 2:
   case 3:
       System.out.println("Selected 2, 3");
       break;
   default:
       System.out.println("Not selected");
       break;
}
  • while 循环
int sum = 0; // 累加的和,初始化为0
int n = 1;
while (n <= 100) { // 循环条件是n <= 100
	sum = sum + n; // 把n累加到sum中
	n ++; // n自身加1
}
System.out.println(sum); // 5050
  • do…while 循环
int sum = 0;
int n = 1;
do {
    sum = sum + n;
    n ++;
} while (n <= 100);
System.out.println(sum); 
  • for/foreach 循环
// for
int sum = 0;
for (int i=1; i<=100; i++) {
	sum = sum + i;
}
System.out.println(sum);
// foreach
int[] ns = { 1, 4, 9, 16, 25 };
for (int n : ns) {
	System.out.println(n);
}
  • break/continue

break跳出整个循环。而continue则是结束本次循环,继续执行下次循环。

int sum = 0;
for (int i=1; ; i++) {
    sum = sum + i;
    if (i == 100) {
        break;
    }
}
System.out.println(sum);

sum = 0;
for (int i=1; i<=10; i++) {
    System.out.println("begin i = " + i);
    if (i % 2 == 0) {
        continue; // continue语句会结束本次循环
    }
    sum = sum + i;
    System.out.println("end i = " + i);
}
System.out.println(sum); // 25
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值