目录
一,语法基础
1.基本Java程序
2.语法基础
2.1 变量
2.2 常量限制(fiinal)类比C++中的const
2.3 类型转化
2.4 运算符
2.5 表达式
2.5 输入与输出
2.5.1 输入
2.5.2 输出
一,语法基础
1.基本Java程序
public class Main{public static void main(String[] args){System.out.print("Hello world");}
}
2.语法基础
2.1 变量
变量必须先定义再使用,且不能重名。
内置的数据类型
类型 | 字节数 |
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
boolean | 1 |
char | 2 |
2.2 常量限制(fiinal)类比C++中的const
final int n=666;
2.3 类型转化
(1).显式类型转换
double a=10.5;
int b=(int)a;
(2).隐式类型转换
double y = 4 * 4.5;
2.4 运算符
设a=1,b=2
运算符 | 描述 | 例子 |
+ | 两个数相加 | a+b 结果为3 |
- | 第一个数减去第二个数 | a-b 结果为-1 |
* | 两个数相乘 | a*b 结果为2 |
/ | 分子除分母 | a/b 结果为0 |
% | 取模运算,向零整除后的余数,余数可能为负数 | a%b 结果为1 |
++ | 自加 | a++ 结果为2 |
-- | 自减 | a-- 结果为0 |
+= | 前一个数加后一个数 | a+=b 相当于a=a+b |
-= | 前一个数减后一个数 | a-=b 相当于a=a-b |
/= | 前一个数整除后一个数 | a/=b 相当于a=a/b |
%= | 前一个数对后一个数取余 | a%=b 相当于a=a%b |
*= | 前一个数乘后一个数 | a*=b 相当于a=a*b |
2.5 表达式
(1).整数的加减乘除
public class Main{public static void main(String[] args){int a=4+2*2-1;System.out.println(a);System.out.println(2*4/6+1);}}
输出结果:
(2).浮点数的计算
public class Main{public static void main(String[] args){double a=4.5,b=7.7;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);}}
运行结果:
(3).自增自减运算
前置++:先自加,再赋值
后置++:先赋值,再自加
public class Main{public static void main(String[] args){int a=5;int b=a++;System.out.println(b);b=++a;System.out.println(b);}}
运行结果:
2.5 输入与输出
2.5.1 输入
方法1:
读入速度较慢
首先需要引入一个包,import java.util.Scanner;
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();double b=sc.nextDouble();float c=sc.nextFloat();String str=sc.nextLine();//读入整行String s=sc.next();//读入一个字符串}}
方法2:
读入速度快,当输入规模巨大时使用。
import java.io.BufferedReader;
import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String s = br.readLine();}
}
2.5.2 输出
方法1:
public class Main{public static void main(String[] args){int a=1;double b=999.1;String str="asd";System.out.println(a);//输出并换行System.out.print(a);//直接输出,不换行System.out.printf("%.4f",b);//格式输出}
}
System.out.print();//直接输出
System.out.println();//输出并换行
System.out.printf();//格式输出int:%d
float:%f,,默认保留6位小数
double:%f, 默认保留6位小数
char:%c
String:%s
方法2:
此方法需要手动刷新缓冲区,输出效率高,适用于输出规模巨大时。
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class Main {public static void main(String[] args) throws Exception {BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));bw.write("Hello World\n");bw.flush();//刷新缓冲区}
}
本篇完