赞
踩
选择合适得jdk文件->安装在C盘下得Programs中
在计算机属性高级系统设置中配置环境变量:
->JAVA_HOME=C:\Programs\Java\jdk1.8.0_25 一些Java开发工具直接通过查找JAVA_HOME扎到Java路径
->Path=%JAVA_HOME%\bin 帮助找到jdk的bin路径下可执行文件
->CLASSPATH=;%JAVA_HOME%\lib 类加载路径
//创建txt文档,修改后缀为java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
win+r
cmd
cd /d E:\BigData\202103\Day001\code
javac HelloWorld.java
java HelloWorld
cd : 切换目录(chance directory)
eg:cd /lixi/
cd .. : 返回上一级目录
c: -> 切换到c盘
d: -> 切换到D盘
dir : 查看文件目录下的所有的子文件或者子目录
rd : 删除目录
del : 删除文件
exit : 推出dos窗口
notepad : 打开记事本
mspaint : 打开画图
1. oop(面向对象)
2. 跨平台
3. 开源免费
4. 健壮性
5. 安全性
6. 垃圾回收机制(gc):自动帮助回收内存中使用完毕的程序。System.gc()建议jvm可以去回收垃圾。
JAVA_HOME:因为后期有工具底层使用java源码开发,会需要调用JAVA_HOME去寻找JDK
PATH:系统会去PATH指定的路径下寻找命令
CLASSPATH:类加载的路径
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Ketty");
}
}
CLASSPATH=.;%JAVA_HOME%\lib
%JAVA_HOME%\lib:
这个配置是为了让我们在需要使用java的原生类的时候直接去调度
public class HelloWorld
被public修饰的class,他的类名必须和xxx.java文件的文件名称相同
注释在编译的时候并不会被编译成class
// : 单行注释
/* */ :多行注释
/** */ : 文本注释
public class Demo2 { /** * 入口方法 */ public static void main(String args[]) { // int a = 0; } /* * 说 */ public void speak() { } /** * 欢迎学习 */ public void welcome() { } }
javadoc Demo2.java 生成API文档,index.html
2进制:逢二进一,1,0
8进制:逢八进一,0,1,2,3,4,5,6,7
10进制:逢二进一,0,1,2,3,4,5,6,7,8,9
16进制:逢g进一,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
任何给java取名称的都叫做标识符
1. 字母、下划线、数字、$
2. 数字一定不能开头
3. 标识符不能和关键字重名
4. 区分大小写
5. 长度无限(一般超过15个字符)
6. 见名知意
7. 中文,但是不让用(乱码),编码和解码
8. 驼峰命名:
类的命名:大驼峰》HelloWorld
方法/函数/变量:小驼峰》helloSiri
常量:全大写,单词之间使用下划线连接》BLUE_WATER
在java中被赋予了特殊含义的单词,全部都是小写
保留字:goto、const
布尔类型:boolean,表示真假,只有true和false
整数类型:byte、short、int、long
浮点/小数类型:float/double
字符类型:char
// 0000 0000 --》 -128 ~ 127 --》 -2^7 ~ 2^7 - 1
// 1short = 2byte --》 -2^15 ~ 2^15 - 1
// 1int = 4byte --》 -2^31 ~ 2^31 - 1
// 1long = 8byte --》 -2^63 ~ 2^63 - 1
public class Demo4 { /** * 1bit * 1byte = 8bit * 1kb = 1024byte ----> 1k = 1000byte * 1mb = 1024kb * 1gb = 1024mb * 1tb = 1024gb * 1pb = 1024tb * 1zb = 1024pb * ... */ public static void main(String args[]) { // 0000 0000 --》 128 ~ 127 --》 -2^7 ~ 2^7 - 1 // 1short = 2byte --》 -2^15 ~ 2^15 - 1 // 1int = 4byte --》 -2^31 ~ 2^31 - 1 // 1long = 8byte --》 -2^63 ~ 2^63 - 1 byte b = 1; //0000 0001 System.out.println(b); long l = 123; // int,隐式转换 long l2 = 1L; // long, 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 int i = 1; short s = 1; if(b == l2) System.out.println("------"); //b: 0000 0000 0000 0000 0000 0000 0000 0001 //l2 :0000 0000 0000 0000 0000 0000 0000 0001 char c1 = 'a'; // 97 System.out.println(c1 + 1); // 98 } }
两个数值类型通过运算符进行计算的情况下,两个变量会通过隐式转换为int类型进行计算(两个变量在转换的过程中不能损失精度)
public class Demo5 {
public static void main(String args[]) {
float f = 9.0F; // 单精度
Double d = 9.0; // 双精度
int i = 9;
// 9.0 --》 0.8999999999999
System.out.println(i == d);
}
}
char c1 = 'a';
char c2 = '中'; // unicode
System.out.println(c2+100);
字符只能在声明的时候写一个单词或者一个汉字
java底层对于字符的处理采取的是unicode编码,所以支持的范围特别的广泛
true和false
boolean isok = true;
if(isok) System.out.println("hello world");
- 1
String
数组
枚举
接口
类
。。。
a=1, b=2
写程序将他们的值互换
import java.util.Scanner; public class Demo6 { public static void main(String args[]) { Scanner scan = new Scanner(System.in); System.out.println("请输入a的值:"); int a = scan.nextInt(); System.out.println("请输入b的值:"); int b = scan.nextInt(); System.out.println("a = " + a + ", b = " + b); // a = 1, b = 2 System.out.println("a和b的值互换之后的结果为:"); // 利用第三个变量 int temp = a; a = b; b = temp; System.out.println("a = " + a + ", b = " + b); // a = 1, b = 2 } }
1、2、3、4
"abc"
true
false
字面值常量:以上的都是
自定义常量:
final static 数据类型 常量名 = 值
e.g.
final static int NUM = 1;
NUM = 2;
C:\teach\hzbigdata2101\day002\code>javac Demo7.java
Demo7.java:4: 错误: 需要<标识符>
NUM = 2;
^
int i = 1;
i = 2;
int i2 = i;
数据类型 变量名 = 值/地址
只要不是直接定义在类中的都是局部变量,局部只在局部生效
定义在类中的,方法外/初始化块的就是全局变量
public class Demo8_Student { public static int i = 2; // 全局变量 public static void main(String args[]) { //int i = 1; // 局部变量 qphone(); System.out.println(i); } public static void qphone() { System.out.println(i); } } public class Demo9_Student { public static int i; // 全局变量 public static void main(String args[]) { //int i = 1; // 局部变量 System.out.println(i); } }
1. 声明位置不同:
局部变量的作用域在方法或语句块中,全局变量在整个类中
2. 是否由默认初值
局部变量必须得自定义初始值,全局变量不用,有默认初值
全局变量 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0 |
char | ‘’ |
boolean | false |
引用类型 | null |
- 栈内存:Stack,连续的内存空间,先进后出,主要存放局部变量
- 堆内存:Heap,不连续的内存空间,存放对象,对象的实例。new出来的都放在这里
- 方法区(Method),其实他是在堆空间之内,存放类的信息,静态的变量和方法,常量池
public class Singleton{
private Singleton(){}
public static Singleton single = null;
public static Singleton getInstance(){
if(single == null){
single = new Singleton();
}
return single;
}
}
public class Singleton{
private Singleton(){}
public static Singleton single = new Singleton();
public staticc Singleton getInstance(){
return single;
}
}
public class ShopFactory{
public static ShopService getService(){
return new ShopServiceImpl();
}
public static DB getShopDB(){
return new MyDB();
}
}
public class Student{ public void study(){ System.out.println("数学"); } } public class College extends Student{ private Student student; private College(Student student){ this.student = student; } public void study(){ System.out.println("高数"); Student.study(); } }
实现功能:
指定一个目录,从该目录和该目录的子目录下寻找后缀名为.java的代码文件
并输出每一行的代码
package day014; import java.io.*; public class M_text2 { public static void main(String[] args) throws IOException { File file = new File("E:\\BigData\\bd\\202103\\code\\text"); FindCode(file); } public static void FindCode(File file){ File[] fs = file.listFiles(); for (File files : fs) { if (files.isFile() && files.getName().endsWith(".java")) { System.out.println("1"); getCode(files); } else if (files.isDirectory()) { FindCode(files); System.out.println("2"); } } } public static void getCode(File files) { try{ FileInputStream fis = new FileInputStream(files); LineNumberReader lineNumberReader = new LineNumberReader(new InputStreamReader(fis)); String line = null; while ((line = lineNumberReader.readLine()) != null) { System.out.println(lineNumberReader.getLineNumber() + ", " + line); } lineNumberReader.close(); fis.close(); }catch (Exception e){ e.printStackTrace(); } } }
package day012; import java.io.File; public class Demo3 { public static void main(String[] args){ search("E:\\BigData\\bd\\202103\\code");//查找指定目录下的指定文件 } public static void search(String path)//查找方法 { File file = new File(path); File[] subFiles = file.listFiles(); //获取指定路径下所有的文件或文件夹对象 if (null!=subFiles){//如果查找的目录非空 for (File subFile : subFiles) {//for each循环 if (subFile.isDirectory()) //如果指定路径下的文件为文件夹则递归寻找,后缀为Java文件则输出名字 search(subFile.getAbsolutePath());//递归查找 else if(subFile.isFile() && subFile.getName().endsWith(".java"))//如果指定路径下的文件是一个文件,获取他的名字并判断猴嘴是不是".java" System.out.println(subFile.getName());//输出查找到目录 } } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。