1.关键字:
在java中具有特殊含义的单词,并且这些单词都是小写的。
goto和const是保留字。
public class 类名{
public static void main(String[] args){
}
}
2.标识符:
凡是可以定义名字的地方,类名、变量名、常量名、方法名。
规范:
类名: Xxx XxxYyyZzz
变量名: xxx xxxYyyZzz (xxx是名词)
方法名: xxx xxxYyyZzz (xxx是动词)
常量名: XXX XXX_YYY_ZZZ
见名知意。
规则:
1.不能是java中的关键字
2.不能是数字开头
3.字母,_,$,数字
public class Demo1 {
public static void main(String[] args) {
//将“helloworld”输出打印到控制台上
System.out.println("helloworld")
}
}
一般来说程序员的第一个程序就是这个了。
3.注释:
单行: //
多行:/*
.....
*/
文档注释:
javadoc
/**
.....
*/
作用:
1.注解说明程序
2.可以用来调试程序
4.常量:
固定不变的数据。
分类:
数值型:整数和小数
字符型:'只能放一个内容' 数字,字符,符号,中文... eg:'a' '1' '中' '+' ' '
字符串:"" >=0
布尔类型: true false
空值常量: null
5.数据类型:
java语言是强类型语言。
基本类型:
整数类型:
byte(1,-128-127) short(2,-2^15-2^15-1) int(4,-2^31-2^31-1) long(8,-2^63-2^63-1)
int是默认类型
浮点类型:
float(4) double(8)默认
字符类型:
char ' ' 2字节
布尔类型:
boolean true、false
引用类型:
数组,类,接口,枚举。
//整数类型
byte b = 10;
short s = 100;
int i = 123;
long l = 123412341234L; //数据默认为int,如果超出了int范围,报错,所以添加字母L或者l以示区分。
//浮点类型
double d = 1.23;
float f = 1.23F;
//字符类型
char c1 = 'a';
char c2 = '2'; //一对{}里边不能出现相同的变量名
char c3 = '+';
char c4 = '國';
//布尔类型
boolean b1 = true;
boolean b2 = false;
6.变量:
实质是指:在内存中开辟一个空间,用于存储可以变化的数据。
声明格式:
数据类型 变量名;
赋值:
变量名 = 数据;
---> 数据类型 变量名 = 数据;
变量使用的注意:
1.变量必须赋值后,才能使用。
2.在一对{}里边不能出现同名变量
3.赋的值必须与数据类型匹配。
7.数据类型间转换
自动类型转换:(隐式类型转换)小---》大
强制类型转换:(显示类型转换)大---》小
格式:(要转换的类型)
1. byte short char ----》int---》long
2. 如果操作数中出现了浮点类型,最终结果为浮点类型
3. boolean不参与类型转换
int x = 10;
byte x = 10;
int y = x + 10; //比较小的可以自动类型转换
x = (byte)(x + 10);//强制类型转换
System.out.println(x);
char c = 'A';
char ch = 100; // 0-65535
char ch1 = '\u0200';
System.out.println(c+0); // 97 = 'A'+ 0 ,字符串可以想这样串在一起
System.out.println((char)100);
System.out.println(ch1);
8.运算符
算数运算符:
+ - * / ++ -- %取模(取余数) +(字符串连接符)
赋值运算符:
= += -= /= *= %=
比较运算符:
最终结果为:boolean
> >= < <= == !=
==:如果两边是基本类型,比较的是数值
如果两边是引用类型 ,比较的是引用。
逻辑运算符:
用来连接值为boolean类型表达式
&:与,两边都为true,则为true,否则为false
|:或,两边都为false,则为false,否则为true
!:非,!true = false ,!false = true
^:异或,两边相同为false,否则为true
&&:短路与,当左边为false
||:短路或,当左边为true
三元运算符:
变量 = (boolean类型表达式)?表达式1 : 表达式2;
boolean类型表达式结果为true:表达式1
boolean类型表达式结果为false:表达式2
位运算:
将操作的数据转成二进制才能运算。
<< :左移 ,被移位的数 乘以 2的移动次幂
>> :有符号右移,被移位的数是正数,补位是0, 除以2 的移动次幂
被移位的数是负数,补位是1, 除以2 的移动次幂;如果除尽,结果刚好。如果除不尽,结果减一。
>>>:无符号右移,无论是什么数,最高位补位都是0,除以2 的移动次幂
&,|,^
1= true 0 = false
^:一个数异或另一个数两次,结果为原来的数。
//算数运算符
/*int x = 2345;
System.out.println(x/1000.0*1000);
System.out.println(5 % -3); //结果是正数还是负数取决于左边的数
System.out.println("x ="+x); //字符串与任意类型相连接,最终结果为字符串
System.out.println(1+2+"1+2="+1+2); //
*/
//自增:++ +1求和运算
//自减 :-- -1求差运算
// int a = 10;
// a++; ++a;
// int b = ++a; 意味着:先自增,后运算
// int b = a++; 意味着:先运算,后自增
// System.out.println(b);
// System.out.println(a);
//赋值运算符
byte m = 10;
// m = (byte)(m + 10); //两步运算
m += 10; //提高运算效率;自动完成强制类型转换
//两个操作数运算,值为其中一个操作数时,才可以使用
System.out.println(m);
int a = 10; int b = 20;
System.out.println( a == b);
int aa = (a > 10)?(a * 10) : (a +10);
System.out.println(aa);