平时咱们编写代码,在代码量比较少的时候,咱们还能够看懂本身写的,可是当项目结构一旦复杂起来,咱们就须要用到注释了javascript
注释并不会被执行,是给咱们写代码的人看的html
书写注释是一个很是好的习惯java
平时写代码必定要注意规范c++
java中注释有三种:api
单行注释数组
//我是一个单行注释 /*我也是单行注释*/
多行注释:能够注释一段文本安全
/* 我是多行注释 我是多行注释 我是多行注释 我是多行注释 */
文档注释oracle
/**我是文档注释 *@Description HelloWorld *@Author 油炸蘑菇鱼 * */
String Ahello4="yuyu"; String hello3="yuyu"; String $hello2="yuyu"; String _hello1="yuyu";
要求变量的使用要严格符合规定,全部变量都必须先定义后才能使用,如java,c++ide
一旦定义变量为某个数据类型,若是不进行转换则一直都是这个数据类型工具
特色:安全性高,速度低
要求变量的使用能够不符合规定,如javascript
特色:安全性低,速度快
整数类型
浮点类型
float占4个字节
double占8个字节
字符类型
//整数 int num1=10;//最经常使用 byte num2=20; short num3=30; long num4=40L;//long类型要在数字后面加L //小数:浮点数 float num5=20.1F;//float类型要在数字后面加F double num6=3.1415926535897932384626433832795028841; //字符 char name='A'; //字符串,String不是关键词是类 //String namea11 ="yuyu"; //布尔值:是 非 boolean flag=true; //boolean flag=false;
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
类、接口、数组
引用类型是对象是经过引用来操做的:栈------->堆
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i=10; int i2=010;//八进制0 int i3=0x10;//十六进制0x 0~9 A~F 16
float f = 0.1f;//o.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false float d1=23212323213123132f; float d2=d1+1; System.out.println(d1==d2);//true //float 有限 离散 会舍入偏差 会接近但不等于 //最好避免使用浮点数进行比较
char c1='a'; char c2='中'; System.out.println(c1);//a System.out.println((int)c1);//强制转换 97 System.out.println(c2);//中 System.out.println((int)c2);//强制转换 20013 //全部的字符本质仍是数字 //编码 Unicode 2字节 0~65536 char c3='\u0061'; System.out.println(c3);//a
全部的字符本质仍是数字
\a | 响铃(BEL) |
---|---|
\b | 退格(BS) ,将当前位置移到前一列 |
\f | 换页(FF),将当前位置移到下页开头 |
\n | 换行(LF) ,将当前位置移到下一行开头 |
\r | 回车(CR) ,将当前位置移到本行开头 |
\t | 水平制表(HT) (跳到下一个TAB位置) |
\v | 垂直制表(VT) |
\ | 表明一个反斜线字符''' |
\ ' | 表明一个单引号(撇号)字符 |
\ " | 表明一个双引号字符 |
? | 表明一个问号 |
\0 | 空字符(NUL) |
\ddd | 1到3位八进制数所表明的任意字符 |
\xhh | 十六进制所表明的任意字符 |
因为java是强类型语言,因此要进行有些运算的时候,须要用到类型转换
运算中,不一样的类型的数据先转化为同一类型,而后进行运算
高--低 (类型)变量名
int i=128; byte b=(byte)i;//内存溢出 System.out.println(i);//128 System.out.println(b);//内存溢出 -128
低--高
int i=128; double b=i; System.out.println(i);//128 System.out.println(b);//128.0
System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45
溢出问题:
计算时先把一个数转换为新类型能够避免溢出
//JDK7新特性,数字之间能够用下划线分割 int money=10_0000_0000; int years=20; int total=money*years;//-1474836480,计算的时候溢出了 long total2=money*years;//默认是int,转换以前已经存在问题了 System.out.println(total2);//-1474836480 long total3=money*(long)years;//先把一个数转换为long System.out.println(total3);//20000000000
实践案例:
char c='a'; int d=c+1; System.out.println(d);//98 System.out.println((char)d);//b
变量是什么:就是能够变化的量
java是一种强类型语言,每一个变量度必须声明其类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和做用域。
char c='a'; int a=1; //不要用如下方式命名 //int a,b,c; //int a=1,b=2,c=3;
注意事项:
public class Demo003 { //类变量 static double salary =2500; //实例变量 String name; int age; //main方法 public static void main(String[] args) { //局部变量 int i=10; //变量类型 变量名字=new Demo003(); Demo003 demo003 = new Demo003(); System.out.println(demo003.age);//0 System.out.println(demo003.name);//null } }
public class Demo004 { //final为修饰符,能够在static前或者后,不存在前后顺序 static final double PI =3.14; public static void main(String[] args) { System.out.println(PI);//3.14 } }
java语言支持以下运算符:
package operator; public class Demo001 { public static void main(String[] args) { //二元运算符 //Ctrl+D:复制当前行到下一行 int a=10; int b=20; int c=25; int d=25; System.out.println(a+b);//30 System.out.println(a-b);//-10 System.out.println(a*b);//200 System.out.println(a/b);//0 System.out.println(a/(double)b);//0.5 } }
若是有高类型的,则结果为高类型:
package operator; public class Demo002 { public static void main(String[] args) { long a =123123123123123L; int b = 123; short c =10; byte d=8; System.out.println(a+b+c+d);//Long 123123123123264 System.out.println(b+c+d);//int 141 System.out.println(c+d);//int 18 System.out.println((double) c+d);//double 18.0 } }
public class Demo003 { public static void main(String[] args) { //关系运算符返回的结果:正确,错误 布尔值 int a =10; int b =20; System.out.println(a>b);//false System.out.println(a<b);//true System.out.println(a==b);//false System.out.println(a!=b);//true } }
//取余 模运算 int c = 21; System.out.println(c%a);//c/a 21/10=2....1
public class Demo004 { public static void main(String[] args) { //++ -- 自增 自减 一元运算符 int a=3; int b=a++;//执行完这行代码后,先给b赋值,再自增 //a=a+1 System.out.println(a);//4 //a++ a=a+1 int c=++a;//执行完这行代码前,先自增,再给c赋值 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 } }
//幂运算 2^3 2*2*2=8 不少运算,咱们会使用一些工具类来操做 double pow = Math.pow(3,2); System.out.println(pow);//9.0
public class Demo005 { public static void main(String[] args) { //与(and) 或(or) 非(取反) boolean a=true; boolean b=false; System.out.println("a && b:"+(a&&b));//a && b:false 逻辑与运算:两个变量都为真,结果才为真true System.out.println("a || b:"+(a||b));//a || b:true 逻辑或运算:两个变量有一个为真,则结果为真true System.out.println("!(a && b):"+!(a&&b));//!(a && b):true 若是是真,则变为假,若是是假,则变为真 } }
//短路运算 int c=5; boolean d=(c<4)&&(c++<4);//由于c<4为false,则进行短路运算,逻辑与右边就没有进行运算直接输出结果 System.out.println(c);//5 System.out.println(d);//false
public class Demo006 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B A与B =0000 1100 若是都有1,则写1,取余写0 A|B A或B =0011 1101 若是有1,则写1 A^B AB异或 =0011 0001 若是两个位置相同为0,不然为1 ~B 非A即B =1111 0010 与B取反 2*8怎么运算更快 = 16 =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 Demo007 { public static void main(String[] args) { int a = 10; int b = 20; a+=b;//a = a+b 10+20 a-=b;//a = a-b 30-20 a*=b;//a = a*b 10*20 a/=b;//a = a/b 200/20 System.out.println(a);// 10 } }
//字符串链接符 + , String System.out.println(""+a+b);//1020 System.out.println(a+b+"");//30 //字符串在前面则后面的int都变为string,若运算在前则先进行运算
// x ? y : z //若是x==true,则结果为y,不然结果为z int score =80; String type = score <60 ?"不及格":"及格"; System.out.println(type);//及格
加()能够进行优先运算
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
包语句的语法格式为:
package pkg1[. pkg2[. pkg3...]];
你们能够用com.本身的名字.xxx建立本身的多级包方便管理。
若是新建包发现没法本身分红多级包,则在齿轮中取消选择Compact Middle Packages
为了可以使用某一个包的成员,咱们须要在Java程序中明确导入该包。使用“import”语句可完成此功能
import package1[.package2...].(calssname|*);
就好比想要用Date,则须要导入Date包,能够按alt+enter进行补全
注:import 必须在 package下面
import com.shenxiaoyu.base.*;//导入这个包下全部的类
javadoc命令是用来生成本身API文档的
参数信息
加在类上是类的注释,加在方法上是方法的注释
/** * @author shenxiaoyu * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author shenxiaoyu * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; } }
找到要生成文档的文件夹,而后在路径栏全面加上“cmd空格路径”而后回车进入命令窗口
在命名窗口输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java
在当前文件夹下会生成一些文件,点击index.html能够查看文档
在工具栏中找到 Tool,而后再子菜单中找到 Generate JavaDoc
参数值为:-encoding UTF-8 -charset UTF-8 -windowtitle "test"
这里我点的whole project,后面的output directory是生成要生成javadoc的文件夹
最后效果: