注释:
平时写代码,代码量较少,可以看懂,但是复杂之后就看不懂了
书写注释是非常好的习惯
注释分为三种:
1、单行注释
//
2、多行注释
/*
*/
3、文档注释
/**
*/
书写代码要规范
注:有趣代码注释
基本都能学完
class、public、static、void等等
标识符注意点:
1、所有的标识符都应该以字母(A-Z或者a-z),美元符$、或者下划线(_)开始
2、首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何
3、不能使用关键字作为变量名或者方法名
4、标识符是大小写敏感的
5、合法标识符举例:age、$salary、_value、__1_value
6、非法标识符举例:123abc、-salary、#abc
7、可以用中文命名
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
不用严格定义
1、基本类型
数值类型:整数类型byte、short、int、long;浮点类型:float、double;字符类型:char
、Boolean类型
2、引用类型
类、接口、数组
位(bit):是计算机内部数据储存的最小单位
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1B=8bit
字符:是指计算机中使用的字母、数字、字和符号
1、Java是强类型语言
低到高
byte,short,char->int->long->float->double
2、运算中,不同类型的数据先转化位同一类型,然后进行运算
1、变量是可以变化的量
2、Java是一种强类型的语言,每个变量都必须声明其类型
3、Java变量是程序中最基本的存储单元,要素包括变量,变量类型和作用域
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量
注意事项:
1、每个变量都有类型,类型可以是基本类型,也可以是引用类型
2、变量名必须是合法的标识符
3、变量声明是一条完整的语句,因此每一个声明都必须以分号结束
1、类变量
2、实例变量
3、局部变量
大写字母
1、所有的变量、方法、类名:见名知意
2、类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词大写 lastname lastName
3、局部变量:首字母小写和驼峰原则
4、常量:大写字母和下划线:MAX_VALUE
5、类名首字母大写和驼峰原则:Man,GoodMan
6、方法名:首字母小写和驼峰原则:run(),runRun()
1、算术运算符:
2、赋值运算符
3、关系运算符
4、逻辑运算符
5、位运算符
6、条件运算符
7、扩展赋值运算符
?:
一般利用公司域名倒置作为包名;
为了使用某一个包的成员,我们需要再Java程序中明确导入该包。使用“import”语句来完成此功能
import package1[.package2].(classname|*);
com.chen.xxx
import com.kuang.base.*;//将所有的都导入
Overview (Java Platform SE 8 ) (oracle.com)
JavaAPI帮助文档
//通过命令行生成JavaDoc文档 javaDoc 参数 Java文件 //javadoc -encoding UTF-8 -charset UTF-8 Doc.java
//作业:学会使用IDEA生成JavaDoc文档! //但是遇到了错误:javadoc: 错误 - 无法读取Input length = 1 //查找到网址为:https://blog.csdn.net/qq_27721169/article/details/81087119
以上
附带Java代码:
base部分
Demo1:
package base; public class Demo01 { public static void main(String[] args) { //八大基本数据类型 //整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 30l; //long类型要在数字后面加一个L //小数:浮点数 float num5 = 50.1F; double num6 = 3.1415926535897932384; //字符 char name = 'A'; //字符串,String不是关键字,是类 //String namea = "陈昊"; //布尔值:是非 boolean flag = true; //boolean flag = false; //引用类型 } }
Demo2:
package base; public class Demo02 { public static void main(String[] args) { //整数拓展: 进制 二进制ob 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; //八进制00 int i3 = 0x11; //十六进制0x 0~9 A~F 16 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("=================================="); //=============================================== //浮点数拓展? 银行业务怎么表示?钱 //BigDecimal 数学工具类 //=============================================== //float; 有限 离散 舍入误差 大约 接近但不等于 //double: //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //false float d1 = 23131313113121321f; float d2 = d1+1; System.out.println(d1==d2); //true //================================================ //字符拓展? //================================================ System.out.println("=================================="); char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //所有的字符本质还是数字 //编码 Unicode 表:(97 = a 65 = A)2字节 65536 Excel 2 16 = 65536 // U0000 UFFFF char c3 = '\u0061'; System.out.println(c3); //a //转义字符 // \t 制表符 // \n 换行 // ······ System.out.println("Hello\nWorld"); System.out.println("=================================="); //以下两句知道他想表达什么意思,但是却不能运行,我直接疑惑?这里new了一个空间,但是不知道具体怎么运用 //String sa = new String(original:"hello world"); //String sb = new String(original:"hello world"); //System.out.println(sa==sb); String sc = "hello world"; String sd = "hello world"; System.out.println(sc==sd); //对象 从内存分析 //布尔值扩展 boolean flag = true; if(flag==true){} //新手 if(flag){} //老手 //Less is More! 代码要精简易读 } }
Demo3:
package base; public class Demo3 { public static void main(String[] args) { int i = 128; double a = i; byte b = (byte)i; //内存溢出 System.out.println(a); System.out.println(b); //强制转换 (类型)变量名 高--低 //自动转换 低--高 /* 注意点: 1、不能对布尔值进行转换 2、不能把对象类型转换为不相干的类型 3、在把高容量转换到低容量的时候,强制转换 4、转换的时候可能存在内存溢出,或者精度问题! */ System.out.println("=================================="); System.out.println((int)23.7); //23 System.out.println((int)-45.89f); //-45 System.out.println("=================================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d); System.out.println("=================================="); //操作较大的数时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算的时候溢出 long total2= money*(long)years; } }
Demo4:
package base; public class Demo04 { public static void main(String[] args) { //int a,b,c; //int a=1,b=2,c=3; 不提倡这种风格,要提高程序可读性 String name = "chenhao"; char x = 'X'; double pi = 3.14; } }
Demo5:
package base; public class Demo05 { //类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象;不赋初值,则为默认值 0 0.0 //布尔值:默认是false //除了基本类型,其余都是null; String name; int age; //main 方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i = 10; //变量类型 变量名字 = new base.Demo05(); System.out.println(i); //类变量 static System.out.println(salary); } }
Demo6:
package base; public class Demo06 { //修饰符,不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); } }
operator运算符部分:
Demo1:
package operator; public class Demo1 { public static void main(String[] args) { //二元运算符 //Ctrl + D :复制当前行到下一行 int a = 10; int b = 20; int c = 10; int d = 10; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); } }
Demo2:
package operator; public class Demo2 { public static void main(String[] args) { long a = 123123123123L; int b = 123; short c = 10; byte d = 8; System.out.println(a+b+c+d); //long System.out.println(b+c+d); //int System.out.println(c+d); //int } }
Demo3:
package operator; public class Demo3 { public static void main(String[] args) { //关系运算符返回的结果: 正确,错误 布尔值 int a = 10; int b = 20; int c = 21; //取余就是模运算 System.out.println(c%a); // c/a 21/10=2····1 System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b); } }
Demo4:
package operator; public class Demo4 { public static void main(String[] args) { //++ --自增,自减 一元运算符 int a = 3; int b = a++; //执行完这行代码后,先给a赋值,再自增 //a++ a = a+1 System.out.println(a); int c = ++a; System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 2^3 2*2*2 = 8 很多运算会使用工具类来进行操作! double pow = Math.pow(3,2); System.out.println(pow); } }
Demo5:
package operator; //逻辑运算符 public class Demo5 { public static void main(String[] args) { //与(and) 或(or) 非(取反) boolean a =true; boolean b =false; System.out.println("a&&b:"+(a&&b)); System.out.println("a||b:"+(a||b)); System.out.println("!(a&&b):"+!(a&&b)); //短路运算 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(d); System.out.println(c); } }
Demo6:
package operator; public class Demo6 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B = 1111 0010 2*8 = 16 2*2*2*2 效率极高!!! << *2 >> /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 */ System.out.println(2<<3); } }
Demo7:
package operator; public class Demo7 { public static void main(String[] args) { int a = 10; int b = 20; a+=b;//a= a+b a-=b;//a= a-b System.out.println(a); //字符串连接 + ,String System.out.println(""+a+b); System.out.println(a+b+""); } }
Demo8:
package operator; import base.Demo02; //以上就是正确的导入语句 public class Demo8 { public static void main(String[] args) { // x? y:z //如果x==true,则结果为y,否则结果为z int score = 80; String type = (score<60)?"不及格":"及格"; System.out.println(type); } }