一下大多数内容来自尚学堂:www.sxt.cn 只是供自己学习,留做笔记,侵删。
DAY one
常用的dos命令
操作名称 | 操作含义 |
---|---|
md | 创建目录 |
dir | 列出当前目录下的文件以及文件夹 |
cd | 删除目录 |
cd… | 退回到上一级目录 |
cd\ | 退回到根目录 |
del | 删除文件 |
echo | 创建文件,如echo haha>1.txt |
注:
1.如果del后面接的是目录名,则表示删除目录下的所有文件。
知识点
1.Java语言的特点:跨平台性,通过JVM来实现。
2.JRE 包括java虚拟机和java程序所需的核心类库等,想开发一个java程序,安装一个JRE即可。
3.JDK是给Java开发人员使用的,其中包含了Java的开发工具,也包含了JRE。编译工具Java.exe,打包工具jar.exe等。
4.java环境参数的配置(之前配置过了)
(因为一些原因,换了一个系列的视频用于学习)
————————分割线———————————————
数据类型 | ||
---|---|---|
基本数据类型 | 数值型 | 整数类型byte short int long 分别占1 2 3 4 字节 |
数值型 | 浮点型 double float | |
字符型 | char两个字节 | |
布尔型 | boolean 占一位 | |
引用数据类型 | 类class | |
四个字节 | 接口interface | |
数组 |
java语言整型的四种表现形式 | ||
---|---|---|
十进制 | 99、56 | |
八进制 | 以0开头 | 015 |
十六进制 | 要求0x或0X开头 | 0x11001 |
二进制 | 要求0b或0B开头 | 0b10110011 |
注:
1.长整型常数在数字后要写一个大写的L。
2.float x=3.14F;
3.double x=3.14或double x=3.14D;
4.double x=314E-2;
5.浮点型是不精确的,一定不要用于比较,如果要用比较的话要使用BigDecimal。但是同类型之间好像是可以的,自己试了一下两个数据类型都是double,然后可以相比较。
6. ‘a’+‘b’输出结果为195,但如果写成 “”+‘a’+‘b’就输出ab,""+‘a’+’\n’+‘b’表示a和b输出的时候换行。""+‘a’+’\t’+'b’表示输出为a b。
7.java里面0和1不能代表false和true。
DAY two
图片来自尚学堂
1.运算符分类
2.优先级
3.
if语句 switch语句 循环语句for while do-while 和c++的写法一样,这里不多赘述。
4.一些基本写法
package luogu;
import java.io.*;
import java.util.*;//用于输入
import java.math.*;//BigDecimal要用到
public class Demon1421 {
public static void main(String[] args) throws Exception{
Scanner cin=new Scanner(System.in);//用到了io流
int a=cin.nextInt();int b=cin.nextInt();//整数输入的写法
String s=cin.nextLine();//字符串要用nextLing输入,并且String的s要大写
int c=a*10+b;
int d=c/19;
double f=3.14;
double g;
g=(314.0/100);
BigDecimal x=new BigDecimal(f);
BigDecimal xx=new BigDecimal(g);
System.out.println(x.equals(xx));
if(f==g) System.out.println(true);
else System.out.println(false);
System.out.println(f==g);
System.out.println(g);
System.out.println(f);
System.out.println(d);
}
}
5.outer 语句的用法
package 基础语法;
public class Demon1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
outer: for(int i=101;i<150;++i) {
for(int j=2;j<i/2;++j) {
if(i%j==0) continue outer;
}
System.out.println(i+" ");
}
}
}
6.语句块
相当于一个过程,里面的变量都为局部变量,不能定义主程序中出现过的重复的变量。该过程进行后就不会再次进行,也就是不能反复调用。
7.方法
方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。
方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
public class Test20 {
/** main方法:程序的入口 */
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
//调用求和的方法:将num1与num2的值传给add方法中的n1与n2
// 求完和后将结果返回,用sum接收结果
int sum = add(num1, num2);
System.out.println("sum = " + sum);//输出:sum = 30
//调用打印的方法:该方法没有返回值
print();
}
/** 求和的方法 */
public static int add(int n1, int n2) {
int sum = n1 + n2;
return sum;//使用return返回计算的结果
}
/** 打印的方法 */
public static void print() {
System.out.println("北京尚学堂...");
}
}
8.方法的重载
重载的方法,实际是完全不同的方法,只是名称相同而已!
构成方法重载的条件:
1.不同的含义:形参类型、形参个数、形参顺序不同
2.只有返回值不同不构成方法的重载
3.只有形参的名称不同,不构成方法的重载
public class Test21 {
public static void main(String[] args) {
System.out.println(add(3, 5));// 8
System.out.println(add(3, 5, 10));// 18
System.out.println(add(3.0, 5));// 8.0
System.out.println(add(3, 5.0));// 8.0
// 我们已经见过的方法的重载
System.out.println();// 0个参数
System.out.println(1);// 参数是1个int
System.out.println(3.0);// 参数是1个double
}
/** 求和的方法 */
public static int add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
// 方法名相同,参数个数不同,构成重载
public static int add(int n1, int n2, int n3) {
int sum = n1 + n2 + n3;
return sum;
}
// 方法名相同,参数类型不同,构成重载
public static double add(double n1, int n2) {
double sum = n1 + n2;
return sum;
}
// 方法名相同,参数顺序不同,构成重载
public static double add(int n1, double n2) {
double sum = n1 + n2;
return sum;
}
//编译错误:只有返回值不同,不构成方法的重载
public static double add(int n1, int n2) {
double sum = n1 + n2;
return sum;
}
//编译错误:只有参数名称不同,不构成方法的重载
public static int add(int n2, int n1) {
double sum = n1 + n2;
return sum;
}
}
9.递归
public class Test22 {
public static void main(String[] args) {
long d1 = System.currentTimeMillis();
//学到一个新的函数currentTimeMills,应该是类似时间钟的函数,记录所用时间
System.out.printf("%d阶乘的结果:%s%n", 10, factorial(10));
long d2 = System.currentTimeMillis();
System.out.printf("递归费时:%s%n", d2-d1); //耗时:32ms
}
/** 求阶乘的方法*/
static long factorial(int n){
if(n==1){//递归头
return 1;
}else{//递归体
return n*factorial(n-1);//n! = n * (n-1)!
}
}
}