书写注释是一个非常好的规范!!!(平时写代码要注意规范)
1.单行注释 // 修改样式 file–>settings–>Editor–>Color Scheme–>java -->comments–>Line comment 修改即可 无法修改时 将Inherit values from:前的勾取消掉
2.多行注释 /* */
3.文档注释 /** */
/** *
*/
有趣的代码注释 可以百度去搜搜看看
1.标识符只能以字母(A-Z或a-z),美元符($),或者下划线(_)开头
2.首字母后可为字母(A-Z或a-z),美元符($),或者下划线(_)以及数字的各种组合
3.不能以关键字作为变量名或者方法名
4.标识符是大小写敏感的
5.合法标识符举例:age、$salary、_value、value
6.非法标识符举例:123abc、-salary、#abc
7.可以使用中文命名 但不建议 不要使用拼音 很Low
强类型语言:变量使用要严格使用
弱类型语言:变量使用随意(VB JS)
1.基本类型
数值类型 : 整数型 浮点型 字符型
整数型:byte 占一字节 -128~127
short 占两字节 -32768~32767
int 占四字节 -2147483648~2147483647
long 占八字节
浮点型: float 4字节
double 8字节(常用)
字符类型 char 2字节
Boolean类型:占一位仅为true 或者false
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= 10.1F;//float类型要在小数后加F double num6 = 3.1415926535891243; //字符型 char name = 'A';//只能一个字符 //字符串 String name1 = "秦疆";//string 不是关键字 //布尔型 boolean flag =True;//True or Flase } }2.引用类型:类 接口 数组
位bit :八位二进制 11001100
字节byte :计算机处理的基本单位 B表示
1B=8b(bit)
字符:计算机使用的字母 数字 字和符号
整数扩展: 进制 二进制0b 十进制 八进制0 十六进制 0x
int i =10; int i2=010;//八进制0 int i3 =0x10;//十六进制 int i4 = 0b10;//二进制 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println(i4); 10 8 16 2浮点数 拓展 银行?钱?
float 有限 离散 舍入误差 接近但不等于
最好避免使用浮点数比较大小
float f = 0.1f;//0.1 double d =1/10;//0.1 System.out.println(f==d);//false 不等判断 错误 float d1=233323462163f; float d2=d1+1; System.out.println(d1==d2);//true 判断错误 false true 必须比较时 可用减法表示字符拓展
编码 Unicode 表:(97=a 65=A)2字节 0-65536 2^16=65536 U0000 UFFFF
char c1 ='a'; char c2 ='中'; System.out.println(c1); System.out.println((int)c1);//强制转化 System.out.println(c2); System.out.println((int)c2);//强制转化 char c3='\u0061'; System.out.println(c3); a 97 中 20013 a转义符
转义字符意义ASCII码值(十进制)\b退格,将当前位置移到前一列008\f换页 将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行开头010\r回车(CR) ,将当前位置移到本行开头013\t水平制表(HT) (跳到下一个TAB位置)009\v垂直制表(VT)011\\代表一个反斜线字符’’'092\’代表一个单引号(撇号)字符039\’’代表一个双引号字符034\0空字符(NULL)000\ddd1到3位八进制数所代表的任意字符三位八进制\uhhhh1到2位十六进制所代表的任意字符二位十六进制布尔值扩展
boolean flag =true; if (flag==true) {}//新手 if (flag){}//老手 意思一样1.强制转换
转换顺序:byte ,char,short -->int -->long -->float–>double
由高到低,则需强制转换 括号里加数据类型
public class demo03 { public static void main(String[] args) { int i = 128; byte b =(byte)i; System.out.println(i); System.out.println(b); } } 128 -128 //出现内存溢出 byte最大127注意点: 1.不能对布尔值转换 2.不能把对象转换为不相干的类型 3.高容量转低容量的时候,需要强制转换 4.转换的时候可能存在内存溢出,或者精度问题
2.自由转换
低到高转换 直接操作
3.溢出问题
public class demo04 { public static void main(String[] args) { //操作比较大的数时,注意溢出问题 //数字之间可用下划线隔开 int money = 10_0000_0000; int year = 20; int total =money * year;//溢出 long total2 = money *year;//仍溢出 long total3 = money * (long)year; System.out.println(total); System.out.println(total2); System.out.println(total3); } } -1474836480 -1474836480 20000000000注意:小写l 容易看成数字1 多用大写L
变量即可以变化的量 Java是强类型语言 每个变量都必须声明类型
Java变量是程序中最基本的储存单元,要素包括变量名,变量类型和作用域
type varName [=value][{,varName[=value]}] //数据类型 变量名=值; 可以用逗号隔开来声明多个变量 但不建议使用注意事项:
每个变量都有类型,可以为基本类型,也可为引用类型变量名必须是合法的标识符变量声明是一条完整语句,每一次声明都要以分号结束类变量 关键字 static
实例变量 无关键字
局部变量
public class Demo06 { //类对象 static static double salary =2500;//随类产生 随类消失 //属性: 变量 //实例变量:从属于对象 ; 如果不自行初始化 类型默认值为0 0.0 // 布尔值:默认为false //除基本类型外 其他默认为null String name; int age;//实例变量只有在 类实例化后可被调用 //main方法 public static void main(String[] args) { //局部变量:必须声明 和初始化值 在方法中声明使用 int i=10; System.out.println(i); Demo06 demo06 = new Demo06(); System.out.println(demo06.age); System.out.println(salary); } //其他方法 public void add(){ System.out.println(i);//不可调用局部变量 } }1.所有变量、方法、类名:**见名知意 **
2.类成员变量:首字母小写和驼峰原则: monthSalary
除第一个单词以外 后面的单词首字母大写 lastName
3.局部变量:首字母小写和驼峰原则
4.常量:大写字母和下划线 MAX_VALUE
5.类名:首字母大写和驼峰原则:Man GoodMan
6.方法名:首字母小写和驼峰原则:run(),runRun()
常量 初始化后不会在改变值! 不能变动的值
final 常量名 = 值; final double PI=3.14;常量名一般使用大写字符
优先级(算数运算符>位运算符>关系运算符>赋值运算符)
算术运算符 :+,-,*,/,%,++,–
赋值运算符 :=
关系运算符:>,<,>=,<=,==,!=, instanceof
逻辑运算符: &&,||,!
位运算符:&,|,^,~,>>,<<,>>>(了解)
条件运算符:?:
扩展赋值运算符:+=,-=,*=,/=
运算中含float/double /long输出结果为float/double/long型 否则为int
package operator; public class Demo02 { public static void main(String[] args) { long a= 12312312L; int b =123; int c= 10; byte d= 8; float e= 10.1F; System.out.println(a+b+c+d);//long 运算中含long/double 输入结果为long/double型 否则为int System.out.println(b+c+d);//int System.out.println(c+d);//int System.out.println(c+e); System.out.println(a+b+c+d+e); } } 12312453 141 18 20.1 1.2312463E7 package operator; public class Demo03 { public static void main(String[] args) { //关系运算符返回结果:正确 错误 布尔值 int a=10; int b=20; int c=21; System.out.println(c%a);//取余 System.out.println(a>b); System.out.println(a<b); System.out.println(a!=b); } } 1 false true true package operator; public class Demo04 { public static void main(String[] args) { //++ -- 自增自减 一元运算符 int a =3; int b= a++;//a++ a=a+1 当++在后面 先把a赋给b a再自加 //a=a+1 在后面 //a=a+1在前面 int c=++a;//++a a=a+1 当++再前面 先把a自加 再把a赋给c 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); } } 5 3 5 9.0 package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与(and) 或(or) 非(取反) boolean a= true; boolean b= false; System.out.println("a && b :"+(a && b));//false System.out.println("a || b :"+(a || b));//true System.out.println("! (a && b ):" +(!(a && b)));//true //短路运算 int c =5; boolean d = (c<4)&&(c++<4); System.out.println(d);//false System.out.println(c);//5 } } /* A=00111100 B=11001111 A&B=00001100 位与 同一为1 其余为0 A|B=11111111 位或 有1为1 全零为0 A^B=00001100 同或 相同为1 不同为0 ~A=11000011 位非 取反 <<左移 2= 0001 2<<3 1000=16 >>右移 16=1000 16>>3 0001=2 */>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:
4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。
>>>:无符号右移。无论是正数还是负数,高位通通补0。
对于正数而言,>>和>>>没区别。
package operator; public class Demo07 { 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+"");//先运算 后拼接 //三元运算符 //x?y:z //如果 x==true ,则结果为y,否则结果为c int score =80; String type = score <60 ? "不及格":"及格"; System.out.println(type); } 10 1020 30 及格区别类名
package pkg1[.pkg2]
import packet.basic.*;导入packet.basic中所有的类
帮助文档
https://docs.oracle.com/javase/8/docs/api/?xd_co_f=8ea595d3-17b0-4785-bd65-68283ed4a5
参数属性
@author 作者名。。。
通过cmd javadoc. 参数 Java文件(xx.java)
通过IDEA:https://www.cnblogs.com/toutou/p/javadoc.html#_label0
