Java基础语法
Java基础语法学习笔记(师从B站狂神)
Zhang_Fangbo
这个作者很懒,什么都没留下…
展开
-
Hello, World!
第一个程序用Notepad++写文件名和类名要一样在指定目录打开cmdjavac是编译,然后运行用IDEA写Hello world先创建Project,再New一个Class快捷键psvmpublic static void main(String[] args) {}快捷键soutSystem.out.println();程序...原创 2021-05-06 19:38:28 · 40 阅读 · 0 评论 -
标识符和关键字,数据类型及其拓展
标识符和关键字数据类型扩展浮点数扩展银行业务怎么表示?——BigDecimal 数学工具类尽量避免使用浮点数进行比较!!!(舍入误差,接近但不等于)强制转换输出:a 97 中 20013所有字符本质还是数字!转义字符\t, \n 等等...原创 2021-05-10 21:49:57 · 64 阅读 · 0 评论 -
变量、常量
变量,常量public class Demo { //类变量 static static double salary = 2500; //常量 final static final double PI = 3.14; //实例变量 从属于对象 如果不初始化,默认值0 0.0 false null String name; int age; public static void main(String[] args) {原创 2021-10-25 13:51:34 · 52 阅读 · 0 评论 -
Java运算符
运算符位运算符与,或,异或,非左移右移(二进制),算2*8的效率最高的方法2<<3字符串连接符输出:10102030三元运算符原创 2021-10-25 13:56:34 · 51 阅读 · 0 评论 -
Day06-Scanner
Scanner对象next()package com.zfb.Scanner;import java.util.Scanner;public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//创建一个扫描器对象 System.out.println("使用next的方式接收:"); //判原创 2021-10-25 14:00:49 · 62 阅读 · 0 评论 -
Day07-if
ifif 单选择结构package structure;import java.util.Scanner;//if单选择结构public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String s = scanner.nextLin原创 2021-10-25 14:01:24 · 40 阅读 · 0 评论 -
Day08-switch
switch 选择结构package structure;import java.util.Scanner;public class SwitchDemo01 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入等级:"); String grade = s.next();原创 2021-10-25 14:02:03 · 37 阅读 · 0 评论 -
Day09-循环结构
循环结构whilepackage structure;public class WhileDemo01 { public static void main(String[] args) { int i = 0; int sum = 0; while(i<=100){ sum = sum + i; i++; } System.out.println(sum);原创 2021-10-25 21:39:02 · 54 阅读 · 0 评论 -
Day10-break-continue
breakpackage structure;public class BreakDemo { public static void main(String[] args) { int i = 0; while(i<100){ i++; System.out.println(i); if(i==30){ break; //break用于强制退出循环,不原创 2021-11-01 17:18:43 · 206 阅读 · 0 评论 -
Day11-打印三角形
流程控制例题——打印三角形可使用debug理解流程package structure;public class TestDemo { public static void main(String[] args) { //打印三角形 5行 for (int i = 1; i <=5; i++) { for(int j = 5; j>=i; j--){ System.out.print(" ");原创 2021-11-01 17:19:20 · 65 阅读 · 0 评论 -
Day12-方法的定义,调用和重载
方法的定义和调用调用方法: 对象名.方法名(实参列表)Java支持两种调用方法的方式,根据方法是否返回值来选择。当方法返回一个值的时候,方法调用通常被当做一个值。例如:int larger = max(30,40);如果方法返回值是void,方法调用一定是一条语句。例如:System.out.println("num1=num2");package Method;public class Demo01 { public static void main(String[] arg原创 2021-11-01 20:26:37 · 46 阅读 · 0 评论 -
Day13-可变参数
可变参数◆JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。◆在方法声明中,在指定参数类型后加一个省略号(…)。◆一个方法中只能指定-个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。package Method;//可变参数public class Demo03 { public static void main(String[] args) { printMax(23,34.5,87.4,32,55); printM原创 2021-11-04 17:13:08 · 41 阅读 · 0 评论 -
Day14-递归实现阶乘
递归package Method;//递归public class Demo04 { public static void main(String[] args) { System.out.println(f(5)); //5! } //实现阶乘 public static int f(int n){ if(n==1){ return 1; }else{ return n*f原创 2021-11-04 17:13:57 · 46 阅读 · 0 评论 -
Day15-数组声明创建
数组的声明和创建◆首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar;//首选的方法或dataType arrayRefVar[];//效果相同,但不是首选方法◆Java语言使用new操作符来创建数组,语法如下:dataType[] arrayRefVar =new dataType[arraySize];◆数组的元素是通过索引访问的,数组索引从0开始。◆获取数组长度:arrays.length数组的三种初始化..原创 2021-11-11 17:06:53 · 202 阅读 · 0 评论 -
Day16-数组的使用及多维数组
数组的使用package array;public class Demo02 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印所有数组元素 for (int i=0;i<arrays.length;i++){ System.out.println(arrays[i]); } //计算所原创 2021-11-11 17:07:18 · 197 阅读 · 0 评论 -
Day17-Arrays类,冒泡排序
Arrays类Arrays.toStringArrays.sortArrays.fill等等工具类,详见jdk帮助文档package array;import java.util.Arrays;public class Demo05 { public static void main(String[] args) { int a[] = {12,3,4,565,345,7896}; System.out.println(a); //打印原创 2021-11-15 21:42:05 · 712 阅读 · 0 评论 -
Day18-稀疏数组
稀疏数组package array;public class Demo07 { public static void main(String[] args) { //1、创建一个二维数组11*11,0:没有棋子,1:黑棋,2:白棋。 int[][] array1 = new int[11][11]; array1[1][2] = 1; array1[2][3] = 2; System.out.println("输原创 2021-11-15 21:44:04 · 398 阅读 · 0 评论 -
Day19-构造器
构造器package OOP.Demo01;//一个项目应该只存在一个main方法public class Aplication { public static void main(String[] args) { Person person = new Person();// Person person = new Person("zfb"); System.out.println(person.name); }}pac原创 2021-11-20 17:49:05 · 146 阅读 · 0 评论 -
Day20-封装
封装package OOP.Demo02;/*封装1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.系统可维护增加了 */public class Aplication { public static void main(String[] args) { Student s1 = new Student(); s1.setName("张舫搏"); System.out.println(s1.getName());原创 2021-11-20 17:49:33 · 44 阅读 · 0 评论 -
Day21-继承与super
supersuper注意点:super调用父类的构造方法,必须在构造方法的第 一个super必须只能出现在子类的方法或者构造方法中!super和 this不能同时调用构造方法!super Vs this:代表的对象不同:this:本身调用者这个对象super:代表父类对象的应用前提this:没有继承也可以使用super:只能在继承条件才可以使用构造方法this() :本类的构造super():父类的构造!package OOP.Demo03;public c原创 2021-11-20 17:50:04 · 58 阅读 · 0 评论 -
Day22-方法重写
方法重写重写:需要有继承关系,子类重写父类的方法!1.方法名必须相同2.参数列表必须相同3.修饰符:范围可以扩大但不能缩小:public>protected>default>private4.抛出的异常:范围可以被缩小,但不能扩大; ClassNotFoundException --> Exception(大)重写,子类的方法和父类必要一 致; 方法体不同!为什么需要重写:1.父类的功能,子类不一定需要,或者不一定满足!快捷键Alt + Insert :overr原创 2021-11-20 17:50:49 · 43 阅读 · 0 评论 -
Day23-多态,instanceof和类型转换
多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。多态存在的条件:有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性。instanceof 和类型转换package OOP.Demo05;public class Application { public static void main(String[] args) { //0bject > Str原创 2021-11-26 01:23:03 · 265 阅读 · 0 评论 -
Day24-static
staticpackage OOP.Demo06;public class Student { private static int age;//静态的变量 private double score;//非静态的变量 public void run(){}//非静态方法,不能直接调用,必须通过对象调用 public static void go(){}//静态方法,可以直接调用 public static void main(String[] args) {原创 2021-11-26 01:23:34 · 221 阅读 · 0 评论 -
Day25-抽象类
抽象类package OOP.Demo07;//abstract 抽象类 单继承~//(接口可以多继承)public abstract class Action { //约束~有人帮我们实现~ //abstract,抽象方法,只有方法名字,没有方法的实现! public abstract void doSomething();}//1.不能new这个抽象类,只能靠子类去实现它;约束!//2.抽象类中可以写普通的方法~//3.抽象方法必须在抽象类中//抽象的抽象:约原创 2021-11-26 01:24:11 · 223 阅读 · 0 评论 -
Day26-接口
接口作用:1.约束2.定义一些方法,让不同的人实现3.接口中的方法都是public abstract4.接口中的属性都是public static final5.接口不能被实例化,接口中没有构造方法6.implements可以实现多个接口7.必须要重写接口中的方法package OOP.Demo08;//interface 定义的关键字,接口都需要有实现类public interface UserService { void add(String name) ; vo原创 2021-11-26 01:24:42 · 39 阅读 · 0 评论 -
Day27-内部类
内部类内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。package OOP.Demo09;public class Outer { private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){原创 2021-11-26 01:25:15 · 60 阅读 · 0 评论 -
Day28-异常
异常抛出异常捕获异常异常处理五个关键字◆try、 catch、 finally、 throw、 throws快捷键:选中代码,Ctrl + Alt+ T,自动包裹IDEA中红色波浪线报错用Alt+Enter查看提示!捕获异常package exception;public class Test { public static void main(String[] args) { int a = 1; int b = 0; try{原创 2021-11-26 01:26:40 · 176 阅读 · 0 评论 -
Day29-自定义异常
自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类,大体可分为以下几个步骤:1.创建自定义异常类。2.在方法中通过throw关键字抛出异常对象。3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。4.在出现异常方法的调用者中捕获并处理异常。pack原创 2021-11-26 01:27:03 · 68 阅读 · 0 评论