java基础--狂神

学习前奏

学习视频来自B站,感谢狂神的分享:B站视频地址
阿里巴巴java开发手册
idea注释设置

要写笔记

推荐博客园CSDN作为主要博客,编辑器尝试MarkDown(本地下载typora,写好可直接复制到CSDN),记录学习的点点滴滴,防止后期遗忘还要查看视频。MarkDown语法格式,可以在CSDN–>写博客–>使用MarkDown编辑器(右上角帮助)中查看

基本dos命令

dos命令作用
cd切换当前位置
dir列出当前位置的 文件/文件夹
cls清理控制台
exit退出控制台
ipconfig查看电脑当前ip
notepad新建并打开记事本
mspaint打开画图工具
md / rd创建 / 删除 文件夹
cd> / del创建 / 删除 文件
netstat-ano #查看所有端口
-ano | findstr “5900” #查看指定端口
tasklist | findstr “8696” #查看指定端口的进程

了解java

首先有了C语言(面向过程);后来有了C++,在C的基础上加入了面向对象的思想,但需要手动释放内存、不跨平台等;后期有了java,java有垃圾自动回收机制、更强大的类库、JVM使得java可以跨平台运行,使得迅速占领了大量市场份额。
java是编译型+解释型语言,运行初期通过 编译器 对.java文件进行编译,生成.calss文件(字节码文件);运行时加载.class,通过 “解释器” 解释一步运行一步
IDE使用 idea

java学习

----------- java基本命令 -----------
javac  编译.java 文件
   javac xxx.java
java  运行.class文件
   java xxx.class
javadoc  生成java文档
   javadoc -encoding UTF-8 -chartset UTF-8 xxx.java
javadoc参数

1.基本数据类型

java八大基本数据类型:byte、short、int、long、float、double、char、boolean
String 不属于基本类型,它是类

变量类型大小使用场景
byte1字节存储字节数据(较常用) -128~127
short2字节兼容性考虑(很少用)-32768~32767
int4字节存储普通整数(常用) (-231 ~ 231-1)
long8字节存储长整数(常用) (-263 ~ 263-1)需要以l或L结尾
float4字节存储单精度浮点数
double8 字节存储双精度浮点数(常用)
char2字节存储一个字符(常用)
boolean1字节存储逻辑变量(常用)

2.变量

变量

变量的作用域:
public class Variable{
	static int allClicks = 0;	//类变量,static 修饰
	String str = "hello word"; 	//实例变量
	public void method(){
		int i = 0;		//局部变量
	}
}

3.常量

常量
变量命名规则:

名称折叠驼峰法折叠Pascal法
别名小驼峰法大驼峰法
使用场景命名变量、属性、方法(函数)命名类、空间、常量
规则除第一个单词之外,其他单词首字母大写第一个单词的首字母也大写
举例int myCount;Public class DataUser;

4.运算符

运算符

字符串连接符:+(从字符串开始的位置进行连接;之前的部分依然进行运算)
int a = 10;
int b = 20;
System.out.println(""+a+b);		//输出1020
System.out.println(a+b+"");		//输出30

5.控制流程

 ---------------------Scanner 对象---------------------
 //创建扫描器,接收控制台输入数据
 Scanner scanner = new Scanner(System.in);
 //判断用户有没有输入
 if(scanner.hasNext() || scanner.hasNextLine()){
 	//读取第一个非空单词
 	String strNext = scanner.next();	
 	//读取第一行
 	String strNextLine = scanner.nextLine();
 }
 //关闭扫描器
 scanner.close();

scanner对象
1.顺序结构
  除非特别指明,否则代码就按照一句一句从上往下执行。顺序结构是最简单、基本的一种算法结构。

2.选择结构

关键字:if(可嵌套)   switch
//-------------  if选择结构  -------------
if(布尔表达式){
	System.out.println("条件为真");
}else{
	System.out.println("条件为假");
}
//-------------  switch选择结构  -------------
//1. switch语句中的变量类型可以是:byte、short、int、char
//2. 从java7开始,支持String类型
//3. case标签,必须为字符串常量 or 字面量
switch(expression){
	case value1:
		//语句1
		break;
	case value2:
		//语句2
		break;
	default:	//default可有可没有
		//默认执行语句
}

3.循环结构

  • while 循环   do while 循环   for循环
whiledo while

//while循环,---条件为真执行循环体,先判断后执行
while(布尔表达式){
	//程序语句
}
//do while  ---先执行后判断,循环体至少执行一次
do{
	//循环语句
}while(布尔表达式);

for循环  (可能一次都不执行) 注:java5引入了foreach写法
//可以写成for( ; ; ){},这是死循环的写法
//1.执行初始值--》判断布尔表达式--》执行循环体
//2.更新--》判断布尔表达式--》执行循环体
for(初始值 ; 布尔表达式 ; 更新){
	//循环语句
}
//九九乘法表
for(int i=1 ; i<=9 ; i++){
	for(int j=1 ; j<=i ; j++){
		System.out.print(i+"*"+j+"*"=(i*j));
	}
	System.out.println();
}
//使用标签,输出100~200之间的质数(只能被1和它本身整除)
outer:for(int i=100 ; i<=200 ; i++){
			for(int j=2 ; j<=i/2 ; j++){
				continue:outer;
			}
			System.out.println(i);
		}

6.方法

  程序=算法+数据结构   软件=程序+数据
  方法包含与对象中,是解决一类问题的步骤的有序集合。方法最好保持原子性,就是一个方法只完成一个功能
    java都是值传递?

方法的定义格式:
//修饰符  返回值类型 方法名 (参数列表){
//	方法体
//}
public static int sum(int a,int b){
	return  a+b;
}

1.重载

  • 在同一个类中,方法名相同、参数列表不同构成重载。(与参数名、返回值类型、访问修饰符无关)

2.可变参数

//可变参数,又称为不定项参数
public void static mian(String[] args){
	//两种调用方法:
	printMax(1,2,3,4,5);
	printMax(new double[]{1,3,5});
}
//比较大小
public static void printMax(double... numbers){
	double max = numbers[0];
	for(int i=0 ; i<numbers.length ; i++){
		if(munbers[i] > max){
			max = numbers[i];
		}
	}
}

3.递归

  • 递归就是方法调用自身。通常用来把一个大型复杂问题,转换成一个与原问题相似但规模较小的问题。
  • 递归包含两部分:递归头(什么时候结束调用);递归体(什么时候调用自身方法)
  • 尽量不用递归:java的方法调用,是压栈形式。如果递归深度越大,会占用大量内存甚至内存溢出。
//递归实现阶乘
public static int f(int n){
	if(n == 1){
		return 1;
	}else{
		return n*f(n-1);
	}
}

7.数组

  • 数据:相同数据类型的有序集合。每个数据称为数组的元素,可以通过下标访问。
//数组声明的两种方式:
dataType[]  arrayRefVar;	//推荐
dataType  arrayRefVar[];	//不推荐
//创建数组:
dataType[]  arrayRefVar = new dataType[size];
//数组的三种初始化状态:
1.静态初始化(创建时赋值)
int[] a = {1,2,3};
2.动态初始化(先创建、后赋值)
int[] a = new int[2];
a[0] = 1 ; a[1] = 2;
3.默认初始化
	数组是引用类型,他的元素相当于类的实例变量。因此数组一旦分配空间,
每个元素就会根据变量类型赋予默认值。
	byteintshortlong	默认值为0
	boolean		默认值为false
	floatdouble	默认值为0.0
	char	默认值为 null

在这里插入图片描述
数组的特点:

  • 数组一旦创建,长度就不可改变;
  • 同一数组数据类型必须相同,可以是 基本类型 或者 引用类型
  • 数组变量是引用类型:数组可以看成对象,保存在堆中;数组的元素相当于类的成员变量 ( 创建数组是通过关键字 new)
  • 数组工具类:java.util.Arrays,可以对数组对象做一些基本操作。

冒泡排序

public void bubbingSort(int[] intArray){
	int temp = 0;
	//外层循环,判断执行多少次
	for(int i=0 ; i<intArray.length-1 ; i++){
		boolean flag = true;//减少排序
		//排序
		for(int j=0 ; j<intArray.length -i-1 ; j++){
			if(intArray[j] > intArray[j+1]){
				temp = intArray[j];
				intArray[j] = intArray[j+1];
				intArray[j+1] = temp;
				flag = false;
			}
		}
		if(flag){break}
		return intArray;
	}
}

稀疏数组
稀疏数组

8.面向对象

oop

9.封装、继承、多态

封装

  • 隐藏代码的具体实现;隐藏代码的实现细节;统一接口;增加系统可维护性
    封装

继承

  • idea快捷键( ctrl+H,打开继承结构 )
  • 通过 super ,调用父类的方法或属性
  • 私有属性or方法,无法被继承
  • java类是单继承,但接口可以多继承
    继承
    重载与重写

多态

多态

10.抽象类

抽象类

11.接口

接口

12.内部类

在这里插入图片描述

13.异常

异常的五个关键字
try 、catch 、finally 、throw 、throws
  Throwable类是 Error 和 Exception 的父类;如果多个catch,则应从小到大开始捕获

Error
Exception
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值