java -—— 学习之路
一、java:创建、运行、输出、动态赋值
-
程序主体:
public class 类名 {
public static void main(String[] args){
System.out.println();
}
}
类的声明:public class 类名{ }
main方法的声明:public static void main(String[] args){ } (固定语句)
输出语句:① System.out.println(); 表示输出并换行,println = print + line
② System.out.print(); 表示输出不换行。 -
动态赋值:
Scanner的使用:导包、创建对象、接收数据
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int i = sc.nextInt(); (以int型举例)
① import java.until.Scanner;一定要在类定义的上面!
② Scanner sc = new Scanner(System.in); 是固定的语句,sc 只是一个变量名;
③ int i = sc.nextInt();
同理也可以写成 double i = sc.nextDouble();
字符串则可以使用 next() (检测到空格停止) 或者 nextLine() (检测到回车停止)。
如字符串的书写格式 String str = sc.nextLine();
—————————————————————————————————————————————————————————————
3.命名:
(1)大驼峰命名法:(主要用于类的命名)
① 一个单词时:首字母大写 如:Hello;
② 多个单词时:每个单词的首字母大写 如:HelloWorld。
(2)小驼峰命名法:(主要用于方法、变量的命名)
① 一个单词时:全部小写 如:hello;
② 多个单词时:第一个单词的首字母小写,其他单词的首字母均大写 如:happyNewYear。
二、运算符、标识符、关键字
运算符
1.算术运算符
① *关于 " + “:*在字符串中” + " 又称作 拼接符,例子如下:
a. System.out.println(" Hello " + 100 ); 输出结果为 Hello100; 此时的 + 为拼接符;
b. System.out.println(" Hello " + 1 + 99); 输出结果为 Hello199; 此时的 + 全为拼接符;
c. System.out.println(1 + 99 + " Hello "); 输出结果为 100 Hello;此时的第一个 + 为加,后一个 + 为拼接符;
对比b、c 可知 当有多个 " + " 时 从左向右依次运算。
② 关于" ++ " 、" – ":
举例如下:
class Main {
public static void main(String[] args){
int a = 1, b = 1;
b = a ++ ;
System.out.println(a);
System.out.println(b);
}
}
运行结果:
2
1
—————————————————————————————————————————————————————————————
class Main {
public static void main(String[] args){
int a = 1, b = 1;
b = ++ a ;
System.out.println(a);
System.out.println(b);
}
}
运行结果:
2
2
由此可见:
当 ++ 在 后面时 先将a赋值给b,在进行a的自增运算;
当 ++ 在 前面时 先进行a的自增运算,再将a赋值给b。
因此 ++ 的位置决定了 ++ 运算的先后顺序,“ – ” 相同,并且 自增和自减运算符只能用于操作变量
2.赋值运算符
3.逻辑运算符
① & : a & b , a、b都为真(true),结果为真(true);当a、b中有一个为假(false)时,结果为假(false)。
② | : a | b , a、b都为假(false),结果为假(false);当a、b中有一个为真(true)时,结果为真(true)。
③ ^ : a ^ b ,a、b都为真(true)或者都为假(false),结果为假(false);当a、b中有一个真(true),有一个为假(false)时,结果为真(true)。
④ ! : !a,如果a为真(true),那么!a则为假(false)。
短路逻辑运算符
① && :a && b 当 a、b的条件都满足(即当a、b都为真时)才能够执行
② || :a || b 当满足a的条件时,就执行a,如果a的条件不满足,满足b的条件,则执行b,当a、b都不满足时两边都不执行。
4.比较运算符
① == :a == b ,表示判断a是否 等于 b
② 比较运算符 用于判断,因此返回的结果是布尔值(即true、false)。
5.条件运算符(三目运算符)
表达式 : 表达式 ? 表达式1 :表达式2
如果表达式成立即结果为表达式1,否则结果为表达式2;
举例如下:a > b ? a : b;
如果a大于b成立,结果为a,否则结果为b。
—————————————————————————————————————————————————————————————
标识符
1.定义:给类、方法、变量等起名的符号;
2.定义规则:① 由数字、字母、下划线、美元符($)组成;
②不能以数字开头,比如 1hello 是错误的;
③ 不能是关键字(见下面);
④ 区分大小写。
正确的命名:
v v1 va $x $1 _1 X天 iF X1000
关键字
- 定义: 具有特殊意义的词,不可将其作为变量等名称;
- java的关键字有 50 个
布尔值 、 null 也算关键字
三、常量、变量
常量
- 空常量:“ null ”,不能直接输出;
- 字符串常量:“ HelloWorld ” ,“ 你好吗?” 用双引号括;
- 字符常量:‘ A ’ , ‘ 0 ’ , ‘ 我 ’ ,‘ 你 ’ 用单引号括;
- 布尔常量:true、false,布尔值,表示真假;
- 整数常量:10、520、-88;
- 小数常量:-13.14,5.21;
除空常量以外,其他常量均可以直接输出
数据类型
基本数据类型: 1. 数值型 :① 整数:byte、short、int、long (整数中默认类型为 int);
② 浮点数: float、double (浮点数中默认类型为 double)(float:4个字节,double:8个字节);
③ 字符: char(2个字节);
2. 非数值型 :布尔(boolean)(1个字节);
引用数据类型: 1. 类(class);
2. 接口(interface);
3. 数组([ ])。
变量
- 变量的定义(变量的声明):数据类型 变量名 ;
如 int a;即表示 a 是 int型 变量 - 变量的初始化:数据类型 变量名 = 变量值;
如 int a = 12;
也可以通过键盘输入即使用Scanner;
代码如下:
**import java.util.Scanner;**
public class Main {
public static void main(String[] args) {
**Scanner sc = new Scanner(System.in);
int i = sc.nextInt(); //读入 i 的值**
System.out.println(i);
}
}
- 注意:① 在一个代码中,一个变量名只能命名一个,不能重复命名;
② 变量未初始化,不能使用;
③ long类型定义变量时要在变量值后 加上 L或者l;
④ float类型定义变量时要在变量值后 加上 F或者f。
—————————————————————————————————————————————————————————————
自动类型转换
一、自动类型转换(数据范围小 到 数据范围大)
byte → short → int → long → float → double
char → int → long → float → double
二、强制类型转换 (数据范围大 到 数据范围小)
目标数据类型 变量名 = (目标数据类型)值 / 变量
如 int a = (int) 88.88;