目录
- Java简介
- 变量
- 常量
- 数据类型
- String
- 运算符
- 关键字
- 方法
- 流程控制
- 数组
- 用户输入
Java简介
Java是Java程序设计语言与Java平台的总称。
Java由太阳公司在1995年推出,太阳公司于2009年被Oracle收购。
Java是面象对象的编程语言。
Java的基础核心是Java SE,在此之上又分为Java EE(Java企业版),Java ME(用于嵌入式开发).
- JVM叫Java虚拟机,是Java的技术核心。Java跨平台实现即通过Java。
- JRE叫Java运行环境,如需运行Java,就需要安装JRE。
- JDK是Java开发工具包,Java开发必备。
变量
对计算机存储器中值的存储空间的命名。
通过修改变量的值来修改程序的运行状态。
public class Var{
public static void main(String[] args){
// int a = 5; 变量命名格式
int a;
a = 5;
System.out.println(a);
}
}
常量
一经赋值,不能被修改的变量。
在Java中,常量必须大写。
public class Var{
public static void main(String[] args){
// 常量命名格式 final;大写
final String FINAL_STRING = "test";
System.out.println(FINAL_STRING);
}
}
数据类型
- 整型
包含byte、short、int、long四种基本类型。
long类型后,需加上L,如long num = 1L
. - 浮点型
包含float、double.
float类型数值后加上F。double类型数值后加上D。 - char 类型
char表示单个字符,如char a = 'a'
.
char可以和整数互相转换。 - boolean 类型
表示true & false.
Java中布尔值不能与整数 or 其它类型转称。
String
字符串,字符串是常量。
字符串的缓冲区支持可变的字符串。
public class Var{
public static void main(String[] args){
// String初始化
String s0 = "Abc";
String s1 = new String("abc");
// 字符串长度
System.out.println(s1.length());
// 比较
System.out.println(s0.equals(s1));
System.out.println(s0.equalsIgnoreCase(s1));
// 连接
System.out.println(s0 + ',' + s1);
System.out.println(s0.concat(s1));
// 按索引值查找 charAt()
System.out.println(s0.charAt(0));
System.out.println("a第1次出现:" + s0.indexOf('a'));
System.out.println("ab第1次出现:" + s0.indexOf("ab"));
System.out.println("a最后1次出现:" + s0.lastIndexOf('a'));
System.out.println("ab最后1次出现:" + s0.lastIndexOf("ab"));
System.out.println("s0中第2位以后:" + s0.substring(1));
System.out.println("s0中第2位以后:" + s0.substring(1, s0.length()));
System.out.println("除去两侧空格:" + s0.trim());
}
}
运算符
- 算术运算
public class Var{
public static void main(String[] args){
int a = 5;
int b = 3;
int c = 3;
int d = 3;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
System.out.println(a % b);
System.out.println("先进行表达式运算,再自增:" + (a++));
System.out.println("a值:" + a);
System.out.println("先自增再进行表达式运算:" + (++a));
System.out.println("a值:" + a);
System.out.println(b--); // 同上
System.out.println(b);
System.out.println(--b); // 同上
System.out.println(b);
}
}
- 位运算
public class Var{
public static void main(String[] args){
int a = 2;
int b = 1;
System.out.println(a & b); // 位与
System.out.println(a | b); // 位或
System.out.println(a ^ b); // 位异或
System.out.println(~a); // 位补
System.out.println("a值:" + a);
System.out.println("a << 1:" + (a << 1)); // 位左移
System.out.println("a值:" + a);
System.out.println("a >> 1:" + (a >> 1)); // 位右移
System.out.println("a值:" + a);
System.out.println("a >>> 2:" + (a >>> 2)); // 按位右移补0
System.out.println("a值:" + a);
}
}
- 逻辑运算
public class Var{
public static void main(String[] args){
boolean a = true;
boolean b = false;
System.out.println(a && b); // 逻辑与
System.out.println(a || b); // 逻辑或
System.out.println(!a); // 逻辑非
System.out.println(a ^ b); // 逻辑异或
}
}
- 关系运算
public class Var{
public static void main(String[] args){
int a = 3;
int b = 5;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a > b);
System.out.println(a < b);
System.out.println(a >= b);
System.out.println(a <= b);
System.out.println(a > b ? a : b); // 三目运算,如a > b 则a;否则b
}
}
- 运算符的优先级
略。
关键字
// 50个 Java 关键字
// abstract, assert, boolean, break, byte, case, catch, char, class,
// const, continue, default, do, double, else, enum, extends, final,
// finally, float, for, goto, if, implements, import, instanceof,
// int, interface, long, native, new, package, private, protected,
// public, return, strictfp, short, static, super, switch, synchronized,
// this, throw, throws, transient, try, void, volatile, while
方法
一个功能的集合。
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
eg.
public void functionName(Object arg){
}
流程控制
- if语句
public class Test{
public static void main(String[] args){
int score = 78;
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 Test{
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语句
public class Test{
public static void main(String[] args){
int i1 = 1, i2 = 1;
int sum1 = 0, sum2 = 0;
// while
while (i1 <= 100){
if (i1 % 2 == 0){
sum1 += i1;
}
i1++;
}
System.out.println("偶数和:" + sum1);
// do ... while
do{
if (i2 % 2 == 0){
sum2 += i2;
}
i2++;
}
while (i2 <= 100);
System.out.println("偶数和:" + sum2);
}
}
- for语句
public class Test{
public static void main(String[] args){
int sum = 0;
for (int i = 0; i <= 100; i++){
if (i % 2 == 0){
sum += i;
}
}
System.out.println("100以内的偶数和:" + sum);
}
}
数组
按一定顺序存放相同数据类型的集合。
数组元素通过下标访问,下标从0开始。
public class Test{
public static void main(String[] args){
// 一维数组
// int[] a = new int[10] 长度为10的数组
// 数据类型[] 数组名
int[] a1 = {1, 2, 3};
int[] a2;
a2 = a1; // 引用,相同数组的不同名称
// 遍历数组 w1
for (int i = 0; i < a1.length; i++){
System.out.println(a1[i]);
}
// w2
for (a:a1){
System.out.println(a);
}
}
}
public class Test{
public static void main(String[] args){
// 二维数组
int[][] num1 = {{1, 1, 1}, {2, 2, 2}};
for (int i = 0; i < 2; i++){
for (int j = 0; j < 3; j++){
System.out.println(num1[i][j]);
}
}
int[][] num2 = new int[2][3];
for (int i = 0; i < 2; i++){
for (int j = 0; j < 3; j++){
num2[i][j] = 0;
}
}
}
}
用户输入
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
// 输入 字符串
String b = in.nextLine();
System.out.println(b);
// 输入 浮点数
float c = in.nextFloat();
System.out.println(c);
// int
int a = in.nextInt();
System.out.println(a);
// 输入 exit则退出
while (!in.hasNext("exit")){
System.out.println(in.nextLine());
}
in.close();
}
}