学习狂神说java笔记

这篇博客详细介绍了Java编程的基础知识,包括运算符、JavaDoc、Scanner、Switch语句、循环、面向对象、封装、继承、static修饰符、抽象类、接口、内部类、异常等内容。学习了如何安装和配置JDK,理解数据类型、变量、类型转换,以及各种运算符的使用。还深入探讨了Java的方法、异常处理、数组和数组操作,包括冒泡排序。此外,还涉及了面向对象的三大特性:封装、继承和多态,并介绍了静态方法、抽象类、接口的概念。最后,博主提到了内部类和异常处理的基本概念,帮助初学者全面了解Java编程。
摘要由CSDN通过智能技术生成

目录

运算符

JavaDoc

Scanner

Switch多选择结构

循环

Java的方法

面向对象

封装

继承

static修饰符

抽象类

接口

内部类

异常


From 20211125

环境变量

卸载jdk

  1. 删除Java的安装目录
  2. 删除 JAVA_HOME
  3. 删除path下关于java的目录
  4.  java –version

安装jdk

环境变量:新建JAVA_HOME

修改系统变量中的 Path,添加

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

测试:java–version

数据类型

基本数据类型(Primitive Type)

数值类型

整数类型:

byte 1个字节,范围:-128-127

         short 2个字节,范围:-21768-32767

         int占4个字节,范围:-21亿多-21亿多

                   int i=010; -- //八进制

                   int i2=0x10;  --//十六进制

         long 占8个字节,范围很大long num=30L;

浮点类型:

         float 占4个字节:floatnum=50.1F;

                   有舍入误差,最好完全避免使用浮点数进行比较

BigDecimal数学工具类,银行业务使用)

         double 占8个字节

字符类型:char 占2个字节

boolean类型

         占1位,其值只有 true 和 false 两个

引用数据类型(Reference Type)

         类,接口,数组

类型转换

从低到高

Byte, short,  char ->int -> long -> float ->double

强制转换: (类型)变量名高到低

自动转换:低到高

布尔类型是不能进行转换的,转换的时候可能出现内存溢出,也可能出现精度问题

//jdk7 新特性,数字之间可以用下划线分割:

int money = 10_0000_0000;

int years=20;

int total=money*years;

long total2=money*years;

long total3=money*((long)years); //正确

变量

public class Damo01 {
//类变量,static 修饰,调用是不用new对象再使用
static double salary=30000;

//属性:变量

//实例变量:从属于对象,如果不赋值,自行初始化为这个类型的默认值:0,0.0
//布尔值默认为false
//
除了基本类型,其他的默认值都是null
String name;
intage;

public static void main(String[] args) {
//局部变量,必须声明和初始化值
inti=10;
System.out.println(i);
Damo01 d01 = new Damo01();
System.out.println(d01.name);

System.out.println(salary);//如果salary 定义时不加static,此处不可使用
}
}

常量

public class Damo02 {

//final 修饰,一般用大写字母

static final double PI=3.14;

public static void main(String[] args) {

System.out.println(PI);

    }

}

运算符

回忆:Instanceof

取余数 %

//幂运算

doublecalResult= Math.pow(3,2);

位运算

a=0011 1100;
b=
0000 1101;
a&b=
0000 1100;
a|b=
0011 1101;
a^b=
0011 0001;
~b=
1111 0010;

--------------------

2*8 2*2*2*2
效率极高!
<<   *2
>>   /2
System.out.println(2<<3);  --16

-------------

inta=10;
intb=20;
System.out.println(""+a+b);  --1020
System.out.println(a+b+"");  --30

一般使用公司域名倒置作为包名:

www.baidu.comcom.baidu.www

在文件的最上面

packagecom.kuangstudy.www;

明确导入其他包,用 import语句

importjava.util.Date;

importcom.kuang.*

参考《阿里巴巴Java开发手册

JavaDoc

参数信息:

  1. @author 作者名
  2. @version 版本号
  3. @since 指明需要最早使用的jdk版本
  4. @param参数名
  5. @return 返回值情况
  6. @throws 异常抛出情况

packagecom.kuangstudy.www;
/**
 * @author kuangshen
 * @version 1.0
 * @since 1.8
 */

public class Doc {
String name;
/**
     * @author kuangshen
     * @param
name
* @return
     * @throws
Exception
*/
public String test(String name) throws Exception{
return name;
    }
}

cmd中执行:

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

Idea生成javadoc

tool>> Generate JAVADoc

Other command line arguments 其他参数:-encoding UTF-8 -charset UTF-8

鸣谢【https://blog.csdn.net/qq_29347295/article/details/78635861】

Scanner

public static void main(String[] args) {

Scanner scanner= new Scanner(System.in);

System.out.println("has hasNext() 方法获取输入");

if (scanner.hasNext())

    {

String str= scanner.next();

System.out.println("input is:"+str);

    }

//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关闭

scanner.close();

/* next()

    1.一定要读取到有效字符后才可以结束输入

    2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉

    3.只有输入有效字符后才将其后面数据的空白作为分隔符或者结束符

    4.next()不能得到带有空格的字符串

     */

}
public static void main(String[] args) {

Scanner scanner1 = new Scanner(System.in);

System.out.println("has hasNextLine() 方法获取输入");

if (scanner1.hasNextLine()){

String str1 = scanner1.nextLine();

System.out.println("input is:"+str1);

    }

//等价于 String str1 = scanner1.nextLine();

scanner1.close();

/* nextLine()

     * 1.Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符

     * 2.可以获得空白。

     * */

}
 
public static void main(String[] args) {

Scanner scanner= new Scanner(System.in);

double sum =0;

intm =0;

System.out.println("请输入数字,以非数字加回车退出");

while (scanner.hasNextDouble()){

double x = scanner.nextDouble();

        sum = sum +x;

        m = m+1;

    }

System.out.println(m +" 个数的和为:"+sum);

System.out.println(m+" 个数的评价值为:"+(sum/m));

scanner.close();

}
//判断字符串String是否相等,用equals()

if(str.equals("Hello")){

System.out.println("right!");

}

Switch多选择结构

Swticht语句中的变量类型可以是

  1. byte,int,short或者char
  2. Java SE7 开始switch 支持字符串String类型了,同时case标签必须为字符串常量或字面量。之所以支持String,反编译class文件发现,比较时是用了哈希值进行的比较。
  3. pblic static void main(String[] args) { //case穿透(不写 break) switch 匹配具体的值 char grade = 'A
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值