用户变量和系统变量区别。
配置在用户变量中,只对当前用户生效。换个用户无法使用。
系统变量对所有用户生效。
配置环境变量是为了在dos(磁盘操作系统)的任意目录,可以用java和javac命令
将文件以记事本打开并另存为ASCII格式即可。
原因:
①控制台编码格式为GBK,所以应存储为GBK编码格式,或者同GBK编码相同的ASCII也可。
②在UTF-8里,英文字符跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的)
带后缀运行,结果如上报错:无法加载主类Hello.class
可知,运行的是类,而非文件。
运行:
通过java.exe运行工具对字节码文件进行执行,本质就是,.class文件装载到JVM机执行。
- 类,方法的注释使用javadoc( @author等)的方式,即文件注释。
- 非javadoc注释,往往是对代码的说明(给程序的维护者看)。
- 源码文件使用utf-8编码,在doc运行的用GBK编码格式。
- 行宽字符不要超过80。
- 运算符和 = 的两边,给空格。
- 代码编程风格分为,次行风格和行尾风格(推荐)
//单行注释变量
1、变量表示内存中给的一个存储区域,该区域右自己的名称和类型
2、变量必须先声明,后使用
3、变量=变量名+值
强类型,必须定义数据类型
//基本数据类型 -> Stirng
int n = 100;
Stirng s = n + "";
//Stirng -> 对应的基本数据类型
String s2 = "123";
int num = Integer.parseInt(s2);
double num2 = Double.parseDouble(s2);
float num3 = Float.parseFloat(s2);
long num4 = Long.parseLong(s2);
byte num5 = Byte.parseByte(s2);
boolean num6 = Boolean.parseBoolean("true");
short num7 = Short.parseShort(s2);
//String -> char ? 把字符串第n个字符转为char,n从0开始
char num8 = s2.charAt(n);
转义字符
t :制表位,实现对其
n :换行
:一个
" :一个 "
’ :一个 ’
r :回车
// r 回车的使用
System.out.println("java基础r练习");
//输出结果为:练习基础
程序中 + 号的使用
- 当左右两边都是数值,直接相加
- 一方是字符串,拼接
- 运算顺序从左到右
System.out.println(100+98); //198
System.out.println("100"+98); //10098
System.out.println(100+98+"Hello"); //198Hello
System.out.println("Hello"+100+98); //Hello10098
- 字符作为其中的加数,字符转unicode编码进行加法运算。
System.out.println('a'+1); //98
System.out.println('a'+'b'); //197
- 注意:
char a = 'a' + 1; System.out.println(a); //'b' //输出的是字符,因为是将等式右边的赋值给变量,依据的是变量的数据类型。
- 与复合赋值运算符会进行类型转换。
byte b = 3; b = b + 2; //报错,右边最终数据类型取精度最大的,无法赋值给byte类型 b += 2; //与上式虽然等价,但是会进行类型转换。 //等价于 b = (byte)(b + 2);算术运算符 逻辑运算符
注意区分:
①逻辑或/与 与 非逻辑或/与
逻辑或 | 非逻辑或 ||
逻辑与 & 非逻辑与 &&
逻辑符号不会有短路情况,逻辑两边都会执行。非逻辑有短路情况。
// 1、逻辑与 输出6,6
int x = 5;
int y = 5;
if(x++ == 6 & ++y = 6){
x = 11;
}
System.out.println("x=" + x + "y=" + y);
// 2、非逻辑与,有短路情况 输出6,5
int x = 5;
int y = 5;
if(x++ == 6 && ++y = 6){
x = 11;
}
System.out.println("x=" + x + "y=" + y);
// 3、逻辑或 输出11,6
int x = 5;
int y = 5;
if(x++ == 6 | ++y = 6){
x = 11;
}
System.out.println("x=" + x + "y=" + y);
// 4、非逻辑或 输出11,5
int x = 5;
int y = 5;
if(x++ == 6 || ++y = 6){
x = 11;
}
System.out.println("x=" + x + "y=" + y);
②“=” 与 “==” 含义不同,前者赋值,后者是逻辑运算符
boolean x = true;
boolean y = false;
short z = 46;
if ((z++ == 46) && (y = true)) z++;
//前者为T,后者直接赋值T,与条件后仍成立,z=48
if ((x = false) || (++z == 49)) z++;
//前者直接赋值为F,后者为T,或条件后仍成立,z=50
System.out.println("z=" + z);
//输出50
位运算:
“ >> ” 向右位移2位
“ << ” 向左位移2位
" >>> " 算数右移
" ~ " 按位取反
" 2&3 " 中的 & 表示按位与
" ^ " 按位异或
import java.util.Scanner Scanner in = new Scanner(System.in);
接收:
int a = in.nextInt(); double b = in.nextDouble(); char c = in.next().charAt(0); String d = in.next();



