注释
作用: 1.解释说明,提高代码的可读性 2.修改代码(把别人的代码注释掉,可以保证随时可以找回前人的代码) 3.打发时间 特点: 不会影响代码的运行 // 单行注释 /* 多行注释 */ /** 文档注释 */
输出
输出后换行 System.out.println(内容); 输出后不换行 System.out.print(内容);
//例
System.out.println("第一行");
System.out.println("第二行");
System.out.println("第三行");
//不换行
System.out.print("啦啦啦");
System.out.print("德玛西亚");
System.out.print("昂扬不灭");
数据类型☆
基本数据类型 整数 byte 1字节(B) 8位 范围:-2^7~2^7-1 -128~-127 short 2字节 16位 范围:-2^15~2^15-1 -32768~32767 int 4字节 32位 long 8字节 64位 小数(浮点数) float 4字节 32位 值后加f或F double 8字节 64位 默认的小数类型 字符 char 2字节 需要用''包裹 布尔 boolean 1字节 取值:true,false 引用数据类型 所有类的对象都是引用数据类型,其对应的数据类型就是其类名 String 字符串 由JDK提供 注意:String类型的值需要""包裹
标识符☆
作用:标记的符号 如:类名,常量名,枚举名等 命名规范 强制要求 1.不能以数字开头 2.不能使用特殊符号(_和$除外) 3.不能使用关键字或保留字 潜规则 1.不建议使用中文 大驼峰 一般用在类名,注解名,接口名 规则:每个单词首字母大写 如: Hello HelloWorld RenLei 注意:见名知意 小驼峰 一般用在变量名,方法名 规则:第一个单词首字母小写,其他单词首字母大写 如: hellow helloWorld shuZi 全大写 一般用在常量名 规则:每个字母都大写 全小写 一般用在包名 规则:每个字母小写 如: com.qf.demo01
关键字
在Java中有有特殊含义的单词 目前学的关键字有: byte int short long float double char boolean true false 见过的关键字有 public class static void 还没有学的关键字 final abstract interface extends implements instanceof menu @interface for while do if else switch break continue return
保留字
暂时没有特殊含义的关键字
变量☆
作用:记录一个值可用被改变的数据 变量使用步骤: 1.声明 2.赋值 3.使用
声明
语法: 数据类型 变量名; 例 声明一个变量记录人的年龄 int age; 在声明一个变量记录另一个人的年龄 int age01; 注意: 同一个作用域下变量名不能相同 可以声明多个变量赋值
语法: 变量名 = 值; 例 age = 18; age = "18"; 错 注意: 等号左右两边类型要相同 一个变量可赋值多次使用
语法: 变量名 例: 打印age变量 System.out.println(age); System.out.println("age"); 注意: 使用变量时不要加"",如果用了,那么打印的内容就是字符串,与变量无关特殊情况(声明并赋值)
语法 数据类型 变量名 = 值;初始化:变量第一次赋值就是变量的初始化
运算符☆
算数运算符
+:加法 -:减法 *:乘法 /:整除 %:取余 ++:自增 ++在后先参与运算,在自增 System.out.println(c++); 这个语句就是一个输出运算,";"前的就是一个运算,c先参加输出运算后在自增. --:递减 注意: 小类型与大类型进行运算,结果为大类型 会余到整数位赋值运算符
=:将等号右边的值赋值给左边 注意: 1.等号两边数据类型要相同 2.如果等号两边数据类型不同,分两种. 小类型转大类型 自动转换 如: double d = 1.0f; int a = 'a'; 大类型转校类型 强制转换 如: byte b = (byte)128; char c = (char)97; +=:加等 int a = 1; int b = 2; //a = a + b;和下面一样,但下面的有强转的功能 a += b; -= int a = 1; int b = 2; //a = a - b;和下面一样,但下面的有强转的功能 a -= b; *= int a = 1; int b = 2; //a = a * b;和下面一样,但下面的有强转的功能 a *= b; /= int a = 1; int b = 2; //a = a / b;和下面一样,但下面的有强转的功能 a /= b; %= int a = 1; int b = 2; //a = a % b;和下面一样,但下面的有强转的功能 a %= b;关系运算符
< > <= >= ==: 基本数据类型判断值是否相同 引用数据类型判断内存地址是否相同 != 基本数据类型判断值是否不相同 引用数据类型判断内存地址是否不相同逻运算符
&&:短路与 同真为真,有假为假 如: 10 < 12 && 10 > 20; 前为真,后为假,则为假. 如果前为假,那后面的就不会进行判断 ||:短路或 有真为真,全假为假 短路性质和上相同,前为真就不用判断后面的 !:非 就是正好取反,真的带!就是假的..字符串连接符
+ 区分字符串连接符与加法运算符.看两边是否有字符串,有字符串就是字符串连接符,没有就是算数运算符 如: 1 + 2 + 3 6 1 + 2 + "3" "33" "1" + 2 + 3 "123"三目运算符
语法: 条件表达式?值1:值2; 条件表达式:结果为boolean型的表达式都是条件表达式 当条件表达式结果为true,取值1. 当条件表达式结果为false,取值2. 练习: 获取两数之间的最大值 int a = 10; int b = 11; System.out.println(a>b?a:b);位运算符(基本上不用,但java中有,仅做了解,暂时可不必深入了解)
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 八进制 0 1 2 3 4 5 6 7 10 11 12... 十进制 00 01 02 03 04 05 06 07 08 09 10 十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 二进制转换为十进制 0001 0010 从右往左看 不管几进制转十进制都是: 第一个数*2的1-1次方(第几位减一) + 第二个数*2的2-1 + ...第n个数*2的n-1次方 1 * 2 ^ (5 - 1) + 1 * 2^1 16 + 2 18 0000 1011 1 * 2^3 + 0 + 1 * 2^1 + 1 * 2^0 8 + 0 + 2 + 1 11 八进制转十进制 17 1 * 8^1 + 7 * 8^0 8 + 7 15 十六进制转十进制 AF 10 * 16 ^1 + 15 * 16^0 160 + 15 175 十进制转二进制 需计算: 这个数除2,商几余几(假设商为s1,余为y1,不过都是0和1) 再用s1除2,得s2,y2 再用s2除2,得s3,y3 ... 最后会的一个sn比2小,此时sn除2(1 / 2 商0余1 或 0 / 2 商0余0) 倒着写余数就是二进制:yn+1 yn yn-1 ...y2 y1 十进制转八进制 同上,除8 十进制转十六进行 同上,除16 <<:不带符号向左移 >>:不带符号向右移 >>>:带符号向右移 &:与 |:或 ^:异或