赞
踩
// 单行注释
/*
姓名 多行注释
年龄
*/
/**
@name 李佩蓉
@age 18 文本注释
*/
注释不会被运行,养成良好的代码习惯
类名、变量名、方法名都统称为标识符
不能是关键字(下图都是关键字)
所有标识符以字母(A-Z,a-z)、美元符($)、下划线(_)开始,不能以数字开头
合法的标识符:age、 Age、 $m1、_01
不合法的标识符: 1age、-lili、#abc、*aa
类型名称 | 关键字 | 占用内存 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
整型 | int | 4个字节 | -2147483648~2147483647 |
长整型 | long | 8个字节 | -9223372036854775808L~9223372036854775807L |
短整型 | short | 2个字节 | -32768~32767 |
单精度浮点型 | float | 4个字节 | +/-3.4E+38F(6~7 个有效位) |
双精度浮点型 | double | 8个字节 | +/-1.8E+308 (15 个有效位) |
布尔型 | boolean | 1个字节 | ISO 单一字符集 |
字符型 | char | 2个字节 | true 或 false |
/* * 基本数据类型 * */ //整数 int A = 10; long B = 20L; //后面加上L short C = 30; byte D =40; //小数:浮点型 float E =3.12F; //后面加上F double F =3.14159265898; //字符 char name = '李'; //String不是关键字,是类 //String name1 = "李佩蓉"; //布尔:是非 boolean flag =true; boolean flag1 = false;
二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|
0b | 0 | 0x |
int i = 10;
int i1 = 010; //八进制0
int i2 = 0x10;//十六进制0x 0~9 A~F
System.out.println(i); //10
System.out.println(i1); //8
System.out.println(i2); //16
float:有限、离散、舍入误差、大约、接近但不等于
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 0.1;
System.out.println(f == d); //false
float f1 = 3.551663484615f;
float f2 = f1 + 1;
System.out.println(f1 == f2); //false
float f3 = 551663484615f;
float f4 = f3 + 1;
System.out.println(f3 == f4); //ture
所有字符本质上还是数字
char a = 'a'; char a2 = '李'; System.out.println(a); //a System.out.println((int)a); // 97 强制转换 System.out.println(a2);//李 System.out.println((int)a2); //26446 强制转换 //所有字符本质上都是数字 //编码 Unicode 0-65536(2的16次方) //97=a 65=A //U0000 UFFFF 正常Unicode编码转义方式 char a3 = '\u0061'; System.out.println(a3); //a //转义字符 // \t 制表符 // \n 换行 System.out.println("Hello\tWorld"); System.out.println("Hello\nWorld");
boolean flag = true;
if (flag==true){}; //新手
if(flag){} //老手
类型转换分为强制类型转换和自动类型转换
强制类型转换:高转低
强制转换格式 (数据类型)变量
自动类型转换:低转高
//强制类型转换发生溢出问题 int i = 128; byte b = (byte)i; //强制类型转换 int(高)-->byte(低) System.out.println(i); //128 System.out.println(b); //-128 内存溢出(byte最大127) //强制转换格式 (数据类型)变量 //自动转换类型 int i1 = 128; double b1 = i1; //自动类型转换 int(低)-->double(高) System.out.println(i1); //128 System.out.println(b1); //128.0 double类型 //转换出现精度问题 System.out.println((int)29.3); //29 System.out.println((int)-56.2f); //-56 精度问题 //数字与字母之间的转换 char c ='a'; int d =c+1; System.out.println(c); //a System.out.println(d); //98 转换为int类型a=97 d=97+1 System.out.println((char)d); //b 转换为char类型 a下一位 //操作数大的时候注意溢出 int money = 1000000000; int years = 20; int total= money*years; long total2 =money*years; System.out.println(total); //-1474836480 计算的时候产生溢出 System.out.println(total2); //-1474836480 依然溢出 默认是int,转换之前就出现问题了 //解决办法 先把一个数转换为long类型 long total3 =money*(long)years; System.out.println(total3); //200000000
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型、作用域
变量就是可变化的量,每个变量都必须声明其类型
变量注意:
public static void main(String[] args) {
int a = 1;
String name = "lipeirong";
char x = 'X';
double pi = 3.14;
}
final 常量名=值;
常量名一般用大写字符
public class Demo7 {
//修饰符 不存在先后顺序
static final double PI = 3.14; //常量
public static void main(String[] args) {
System.out.println(PI);
}
}
public class Demo6 { //类变量 static static double salary = 3000; //属性:变量 //实例变量 从属于对象 如果不进行初始化 默认这个类型的默认值 //布尔值默认false //除了基本类型,其余默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量 必须声明和初始化值 开始 int i =10; System.out.println(i); //10 结束 //变量类型 变量名字=new Demo6(); Demo6 demo6 = new Demo6(); System.out.println(demo6.age); //0 System.out.println(demo6.name); //null //类变量 static System.out.println(salary); //3000.0 } //其他方法 public void add(){ } }
//二元运算符 public static void main(String[] args) //Ctrl+D :复制等前行到下一行 int a = 10; int b = 20; int c = 30; int d = 40; System.out.println(a+b);//30 System.out.println(a-b);//-10 System.out.println(a*b);//200 System.out.println(a/b);//0 int类型 System.out.println(a/(double)b);//0.5 } public static void main(String[] args) { long a = 12312322L; int b = 123; short c =10; byte d =8; System.out.println(a+b+c+d); //12312463 long类型 System.out.println(b+c+d); //141 int类型 System.out.println(c+d); //18 int类型 //多个参数中有long类型 结果就为long类型 //多个参数中,如果没有long类型 结果就为int类型 //同理 如果有个数是double 结果就为double类型 } public static void main(String[] args) { //关系运算符返回的结果: 正确 错误 布尔值 int a = 10; int b = 20; int c = 21; System.out.println(a>b);//false System.out.println(a<b);//ture System.out.println(a==b);//false System.out.println(a!=b);//true //取余:模运算 System.out.println(c%a);//1 21/10=2......1 } //一元运算符 public static void main(String[] args) { //一元运算 ++自增 --自减 int a = 5; int b= a++; //执行完这行代码后,先给b赋值,再自增 System.out.println(b); //5 赋值 System.out.println(a); //6 自增 int d = 3; int c=++d; //执行这行代码前,先给d自增,再给c赋值 System.out.println(c);//4 自增 System.out.println(d);//4 赋值 //幂运算2^3 2*2*2 使用工具类来操作 double pow = Math.pow(2,3); System.out.println(pow); //8.0 } //逻辑运算 public static void main(String[] args) { // 与&& and 或|| or 非! 取反 boolean a = true; boolean b= false; System.out.println("a && b:"+(a&&b)); //一个假的就为假 a && b:false System.out.println("a || b:"+(a||b)); //一个真的就为真 a || b:true System.out.println("!(a&&b):"+!(a&&b));//真的变成假的 假的变为真的 !(a&&b):true //短路运算 int c = 5; boolean d=(c<4)&&(c++<4); System.out.println(d); //false System.out.println(c); //5 只运行了c<4为假之后发生的短路 } //位运算 public static void main(String[] args) { /* * A = 0011 1100 * B = 0000 1101 * * A&B = 0000 1100 两个为1才为1 * A|B = 0011 1101 一个为1就为1 * A^B = 0011 0001 两个相同就为0 * ~B = 1111 0010 取反 * * 2*8怎么运算最快? 2*2*2*2 * << 左移 *2 * >> 右移 /2 * 效率高 * 0000 0000 0 * 0000 0001 1 * 0000 0010 2 * 0000 0011 3 * 0000 0100 4 * 0000 1000 8 * 0001 0000 16 * */ System.out.println(2<<3); //16 } //三元运算符 public class Demo8 { public static void main(String[] args) { //x?y:z //如果x==true,则结果为y,否则结果为z int score = 80; String type = score<60?"不及格":"及格"; //必须掌握 //if System.out.println(type); //及格 }
优先级
包的本质就是文件夹
一般利用公司域名倒置作为包名 com.li.xxx
创建包 package 导包import
com.li.xxx.* 导入xxx所有的包
javadoc命令是用来生成自己的API文档
package com.lpr.base; /** * @author lipeirong * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author lipeirong * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; //通过命令行 javadoc 参数 java文件 } }
打开文件所在地
在当前文件夹中打开doc命
输入指令
回到文件地址 打开index.html,生成成功
选择是整个项目还是模块还是单个文件
文档输出路径
Locale 选择地区,这个决定了文档的语言,中文就是zh_CN
传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8 Doc.java
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。