标识符
什么是标识符:计算机语言的一种符号(名称),代表某种含义。
标识符一般可分为用户定义的标识符和系统定义的标识符(关键字)。
用户定义的标识符的语法规则:
1.由字母,数字,下划线,$组成。
2.不能以数字开头。
3.不能使用关键字。
4.没有长度限制。
行业规则:
1.不能使用中文定义和不能使用¥。
2.源文件名首字母大写,变量名,方法名首字母小写,常量名全大写。
3.使用驼峰命名法。
4.见名知意。
注意:Java区分大小写。
几种常见的命名方式
匈牙利命名法:会有简写的前缀。
小驼峰命名法: 第一个单词首字母小写,其它单词首字母大写。
帕斯卡命名法(大驼峰命名法): 每个单词的首字母都大写。
下划线命名法:用下划线分隔每个单词; 如:String student_name =“”
注释
注释就是对代码进行描述,增加代码的可读性。注释不会被编译运行。
单行注释://
多行注释:/* */
文档注释:/ ** */
文档注释,可以用javadoc 生成对应的文档(html 文件)。
设置程序的作者
在idea中配置作者以及相关注释: file->setting->File and code Templates
/**
*@Author:doubleyong
*@Package:{PROJECT_NAME}
*@name:{DATE} {NAME}
*/
变量
变量的定义
变量:是一个容器,是操作系统给内存划分的一块空间,作用是临时存储数据。
变量的申明
第一种
数据类型 变量名; //开辟了一块空间
变量名 = 值; //把值 放到对应的变量空间里
注 : = 是赋值符号, 把等号右边的值,赋给左边
int a;
a = 1;
第二种
数据类型 变量 = 值;
多个声明,用逗号隔开
数据类型 变量名 = 值 , 变量名2;
int a = 1;
int a = 2,b = 3,c = 4;
注:变量没有初始化,不能直接使用
数据类型
数据类型决定分配到的内存空间大小,大致可分为两大类,“基本类型”,“引用类型”。基本类型的数据存储在栈中,引用类型的数据存储在堆中。
定义一个String 类型的变量 s1:
String s1 = "abcd"
其中,变量s1是存储在栈中的,它的值“abcd”是string类型,存储在堆当中,所以变量s1在栈中存储的是值“abcd”在堆中的地址。
八大基本类型:
整形:
byte(1个字节)
short(2个字节)
int(4个字节)
long(8个字节)
小数:
float(4个字节)
double(8个字节)
字符:
char:每个字符 占两个字节
布尔:
boolean:true(真),false(假)
引用类型:
string,类,数组,接口…
不同变量申名:
//整数
byte num = 1;
short num2 =1;
int num3 = 1;
long num4 = 1L; //一般加大写的L , 说明是long类型
//浮点数
float num5 = 0.5f; //一般加小写的f, 说明float
double num6 = 0.5; //可以加小写的d, 也可以省略
// 字符 ,只能写一位,且需要用单引号包起来
char char1 = '男';
boolean result = false;
// 引用类型 String 字符串,它的值要用双引号包起来
String name = "Hello";
常量
在java中固定不变的量就叫常量,
符号常量
有名字的常量。
常量定义
在变量的基础上加上final修饰符(用final所修饰的变量就是常量)
final double PI = 3.14;
常量不可修改,且名称全大写。
数据类型的转换
自动转换(隐式转换)
容量小的转换容量大的
条件:数据要兼容
// 自动转换 (小 转 大)
//byte -> int
byte num = 5;
int num2 =num;
//short -> int
short num3 = 3;
int num4 = num3;
// char -> int
char a = 'a';
// 字符 -> ascii -> 十进制 -> 2进制
// '0' => 48
// 'A' => 65
// 'a' => 97
int num5 = a;
System.out.println(num5);
// int -> double
int num6 = 6;
double dnum = num6;
System.out.println(dnum);
// int -> float
int num7 = 6;
float fnum = num6;
System.out.println(dnum);
强制转换(显示转换)
容量大的转容量小的
条件:数据兼容
语法:数据类型 变量名 = (数据类型)值;
// double -> int 将舍去小数部分
double d1 = 100.111;
int i1 = (int)d1;
System.out.println(i1);
// int -> char , 大转小 ,要强转
int A = 65;
char char1 = (char)A;
System.out.println(char1);
// int -> byte , 大转小, 可能会出现精度丢失
// 注: 将值超过byte的大小时,它会循环赋值( 128 转byte 结果为 -128)
// -128 - 127
int num = 133;
byte b = (byte)num;
System.out.println(b);
运算符
算术运算符
+,-,*,/,%(取模)
+ : 当运算符两边,有一方是字符串,表示是字符串连接, 否则进行相加运算(如果不是数字类型,则隐式进行转换)
-, * , / ,% : 这几个符号都只能进行 运算, 不支持字符串类型
赋值运算符
赋值运算符包含:=,+=,-=,*=,/=,%=
int num = 6;
num += 5; //num = num+ 5
num -= 5; // num = num -5;
num *= 5; // num = num * 5;
num /= 5; //num = num / 5;
num %= 5; // num = num % 5;
一元运算符
一元运算符: 运算符所需要的操作数的个数为1个;
二元运算符:运算符所需要的操作数的个数为2个;
三元运算符:运算符所需要的操作数的个数为3个;
一元运算符: ++ ,——
++ : 表示 自增+1 ;
-- : 表示 自减-1 ;
当只有一条语句时,不管++加前,还是++再后都没有影响
当只有一条语句时,不管--加前,还是--再后都没有影响
在复合语言时,++再前,表示时,使用+1后的值 , ++再后,表示使用+1之前的值
在复合语言时,--再前,表示时,使用-1后的值 ,--再后,表示使用-1之前的值
关系(比较)运算符
关系运算符有: > ,< , >= ,<= , ==, !=
结果为: boolean类型
逻辑运算符
逻辑运算符有:
并且(&& ):短路与, 有一个条件为false ,后面的条件将不再进行判断
或者(||):短路或, 有一个条件为true,后面的条件将不再进行判断
非(!):取反
位运算符:
&: 所有的条件都会进行判断
|:所有条件都会进行判断
^:异或
一般程序主要用逻辑运算符
位运算符
&: 所有的条件都会进行判断
|:所有条件都会进行判断
^:异或
~ : 取反
<<(二进制左移) 乘2
>> (二进制右移) 除2
三元运算符
语法: (条件表达式)?真的处理:假的处理;