打开CMD方式:
常用的Dos命令:
#盘符切换 #查看当前目录下的所有文件dir #切换目录cd change directory #返回上一级cd.. #清理屏幕cls #退出终端exit #查看电脑ip ipconfig #打开应用:打开计算机(calc)、打开画图工具(mspaint)、打开记事本(notepad) #ping命令 #ping www.baidu.com #文件操作 #创建文件夹命令 md 目录名 #新建文档 cd 目录名 #删除文件命令 del 文件名 #移除文件 rd 目录名
问题:C&C++----->指针与内存管理
Java(跨平台)的三大版本:
JDK-->JRE-->JVM(跨平台)
JDK卸载:
JDK安装:
第一个程序:HelloWorld
public class HelloWorld{ public static void main(String[] args){ System.out.println("hello,world!"); } }
编译javac java文件,会生成一个class文件
运行class文件,
可能遇到的情况:
1. 每个单词的大小不能出现问题 2. 文件名和类名必须保证一致 3. 尽量使用英文 4. 使用了中文符号
java程序运行机制
使用IDEA开发:集成开发环境idea安装
注释:单行、多行、文档注释(javaDoc)。
关键字:
标识符:java的所有组成部分都需要名字。类名、方法名、变量名都是标识符。
注意:标识符都以字母A-Z(a-z)、美元符$、或者下划线_开头。
首字母之后可以是任意字符组合
不能使用关键字作为变量名或者方法名
标识符是大小写敏感的
(java是强类型语言)--->要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用。------>安全
(弱类型语言):vb、js
Java的数据类型分为 :
基本类型:数值类型(整数类型、浮点类型、字符类型)和布尔类型。
整数类型:byte占1个字节范围:-128-127
short占2个字节范围:-32768-32767
int占4个字节范围:-2147483648-2147483647
long占8个字节范围:-9223372036854775808-9223372036854775807
浮点类型:float占4个字节
double占8个字节
字符类型:char占2个字节
boolean类型:占1位其值只有true和flase两个。
引用类型:类、接口、数组
8bit(位)=1B(byte字节)
(1)整数扩展
//整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; int i3 = 0x10; System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("=============================");
(2)浮点数扩展(最好完全避免使用浮点数进行比较)
//================================================== //浮点数扩展? 银行业务怎么表示? 钱 //BigDecimal 数学工具类 //================================================== //float 有限字长 离散 舍入误差 大约 接近单不等于 //double //最好完全避免使用浮点数进行比较!!! float f = 0.1f; //0.1 double d = 1.0 / 10; //0.1 System.out.println(f == d); //应为true,运行结果是false float d1 = 231313113131131313131f; float d2 = d1 + 1; System.out.println(d1 == d2); //应为false,运行结果是true
(3)字符扩展(Unicode编码表)
//字符扩展 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字节 0-65536 Excel 2^16=65536 //U00000 UFFFF char c3 = '\u0061'; System.out.println(c3); //a
(4)转义字符
//转义字 // \t 制表符 // \n 换行 System.out.println("Hello\tWorld");
(5)字符串(遗留问题)
System.out.println("================================"); String sa = new String("hello,world"); String sb = new String("hello,world"); System.out.println(sa==sb); //false String sc= "hello,world"; String sd="hello,world"; System.out.println(sc==sd); //true //对象 内存分析
(6)布尔值(多用于if语句)
//布尔值扩展 boolean flag = true; //都是判断flag是否为真 if (flag==true){} //新手 if (flag){} //老手 //Less is More! 精简易读
低-------------------------------------------------------------------->高
byte--->short--->char--->int--->long--->float--->double
注意点
public class Demo04 { public static void main(String[] args) { //操作比较大的时候,注意溢出问题 //jdk7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int year = 20; int total = money*year; System.out.println(total); //-1474836480,计算的时候溢出了 long total2 = money*year; //默认是int,转换之前已经存在问题了? long total3 = money*(long)year; //把一个数转换为long System.out.println(total3); long total4 = (long)(money*year);//-1474836480,计算完再转换还是溢出,要在计算之前转换 System.out.println(total4); } }
java是一种强类型语言,每个变量都必须声明其类型。
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,和作用域。
注意:
(1)每个变量都有类型,可以是基本类型,也可以是引用类型
(2)变量名必须是合法的标识符
(3)变量声明是一条完整的语句,一次每个声明都必须以分号结束
(4)不建议一行定义多个变量。
public class Demo05 { public static void main(String[] args) { //int a=1, b=2, c=3; int a = 1; String name = "wang"; char x = 'x'; double pi = 3.14; } }
变量作用域:
类变量:在类中static int 变量名=值
实例变量:在类中String str = "hello world"
局部变量:在方法中
常量:
final 常量名=值;
变量的命名规范:
+,-,*,/,%,++,--
=
>,<,>=,<=,==,!= instanceof
&&,||,!
&, |, ^, ~, >>, <<, >>>(了解!!!)
+=, -=, *=, /=
package operator; public class Demo04 { public static void main(String[] args) { //++ -- 自增自减 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,在自增 //a = a + 1; System.out.println(a); //a = a + 1; int c = ++a; //执行完这行代码前,先自增,再给b赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 double pow = Math.pow(3, 2); System.out.println(pow); } }
package operator; public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 与 A|B = 0011 1101 或 A^B = 0011 0001 异或:相同为0,不同为1 ~B = 1111 0010 取反 2*8怎么运算最快? 效率极高!!! <<左移(*2) >>右移(/2) 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 会发现2、4、8、16左移一位 */ System.out.println(2<<3); } }
package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与或非 boolean a = true; boolean b = false; System.out.println("a&&b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果采薇true System.out.println("a||b:"+(a||b)); //逻辑或运算:有true则true System.out.println("!(a&&b):"+!(a&&b)); //取反 //短路运算 int c = 5; boolean d = (c<4)&&(c++<4); //短路与,若前部分为false则后面代码不执行,直接为false System.out.println(d); System.out.println(c); } }
package operator; public class Demo07 { public static void main(String[] args) { int a = 10; int b = 20; a += b; a -= b; System.out.println(a); //字符串连接符 + System.out.println("" + a + b); //只要String出现在运算前,后面会进行拼接,转换为String进行连接 System.out.println(a + b + ""); //String 出现在运算后面,先进行运算在拼接 } }
package operator; //三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y :z //如果x==true,则结果为y,否则为z int score = 80; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); } }
package 包名;
一般利用公司域名倒置作为包名;com.baidu.www
导入包 import com.kuang.base.Demo01;
package com.kuang.operator; //导入这个包下所有的类 import com.kuang.base.*; //三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y :z //如果x==true,则结果为y,否则为z int score = 80; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); } }
作业:阿里巴巴开发手册
是用来生成自己的API文档的. 查看jdk帮助文档
参数信息:
package com.kuang.base; /** * @author kuangshne * @version 1.1 * @since 1.8 */ public class Doc { String name; /** * * @param name * @return * @throws Exception */ public String text(String name) throws Exception{ return name; } }
生成文档:命令提示符javadoc -encoding UTF-8 -charset UTF-8 Doc.java
作业:学会使用idea生成Javadoc文档!
javadoc配置