Java 入门知识

Java 入门知识

基于狂神说Java课程,可自行观看
https://www.bilibili.com/video/BV12J41137hu?p=31

主要是Java数据类型、变量介绍

快捷输入(直接引出函数)

psvm 
#main函数
	public static void main(String[] args) {
        
    }
sout
#输出语句
System.out.println();

Java 配置

File–>Project Structure–>project

修改Project SDK 和 language
在这里插入图片描述
在这里插入图片描述

注释

单行注释:

//

多行注释:

/*

*/

文档注释:

JavaDoc

/** */

快捷键

行注释:Ctrl+/

块注释:Ctrl+Shi+/

标识符

关键字

在这里插入图片描述
Java 所有的组成部分都需要名字。类名、变量名和方法名都被成为标识符

public class HelloWorld {//HelloWord 类名
    public static void main(String[] args) {//main方法名
        System.out.println("Hello,World!");//输出一个Hello World
        /*
        多行注释
         */
        String teacher = "zz"//techer变量名
    }
}
  1. 所有的标识符都以A-Z(a-z)、$、_(下划线)开始

  2. 首字母之后可以用任意字符或数字、符号组合

  3. 不能使用关键字作为标识符(变量名、方法名)

  4. 标识符大小写敏感

  5. 可以使用中文命名但不推荐

数据类型

Java:

强类型定义语言。要求变量的使用严格符合规定,所有变量先定义后才能使用

(速度比若类型定义语言慢,但更安全、规范)

数据类型 变量名 = 值,可用,隔开多个变量定义

字符串(String)用“ ”定义值

基本类型(primitive type)

整数类型:(关键字)

  • byte:(1字节范围)-128~127

  • short:(占2字节范围):-32768~32767(万)

  • int:(占4字节范围):(十亿 10位)-21474836489(最常用)

  • long(占8字节范围):一般要在最后加个L

    long num=30L;
    

浮点类型:

  • float(4字节)最后加f

    float f=0.1f
    
  • double(8字节)

字符类型:

  • char(2字节)一个字符

    char name='A';
    char name='ab';//错
    

    字符串是String(String不是关键字,是类)

boolean类型(布尔类型):

  • 占1位(只有false和true两个值)(1字节有8位)

引用类型(reference type)

类、接口、数组

数据类型拓展

整数拓展

二进制0b

int i=10;//十进制
int i2=010;//八进制0
int i3=0x10;//十六进制0x

输出:
在这里插入图片描述

浮点数拓展

   //浮点数拓展
        //float     有限 离散   舍入误差(接近但不等于),这就会造成很多问题
        //double
        //最好完全避免使用浮点数进行比较
        float f=0.1f;//0.1
        double d=1.0/10;
        System.out.println(f==d);//false
        System.out.println(f);
        System.out.println(d);
        float d1=2323232323232323f;
        float d2=d1+1;//d1已经溢出
        System.out.println(d1==d2);//true

在这里插入图片描述

字符拓展

 //字符拓展
        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);
//所有的字符本质还是数字(编码问题  Unicode 表:a=97,A=65  2字节 65536 2^16)
//U0000~UFFFF
        char c3='\u0061';//  /u是转义的意思
        System.out.println(c3);//输出a

在这里插入图片描述

转义字符

//转义字符
        //\t 制表符
        //\n 换行
        System.out.println("Hello\tWorld");//Hello	World

在这里插入图片描述

布尔值使用

boolean flag=true;
        if(flag) {      //if(flag==true)
            
        }

类型转换

优先级:

低----------------->高

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

强制类型转换

(类型)变量名

高到低的转换

int i=12;
byte b=(byte)i;//注意内存溢出
System.out.println(i);
System.out.println(b);

自动类型转换

直接转换

低到高的转化

int i=12;
double b=i;
System.out.println(i);
System.out.println(b);

在这里插入图片描述

注意:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 在把高容量转换到低容量的时候,强制转换

  4. 转换的时候可能存在内存溢出或者精度问题

System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
System.out.println("=================");
char c='a';
int d=c+1;
System.out.println(d);//98//转换成高的int类型
System.out.println((char)d);//b
System.out.println("=================");
//JDK7的新特性,数字之间可以用下划线分割,不改变数值大小
int money=10_0000_0000;
 System.out.println(money);//1000000000
int years=20;
int total=money*years;
long total2=money*years;//在这里转换没有用了,计算完默认是个int值,已经溢出再转换成long没有用了
System.out.println(total);//-1474836480
System.out.println(total2);
long total3=money*(long)years;//先把一个数转换为long,就会全转换为long计算
System.out.println(total3);//20000000000,200_0000_0000

在这里插入图片描述

变量

type varname [=value];
//数据类型  变量名=值	逗号隔开来声明多个同类型变量
char x='X';

作用域

类变量 static

实例变量

局部变量

public class Demo02 {
    //变量作用域

    //实例变量,从属于对象,类里面,方法外面,int默认值0,浮点型 0.0
    //布尔值:默认false
    //除了基本类型,其余的默认都是null
    String name;//实例变量
    int age;

    //类变量 static
    static double salary=2500;//从属于类,随着类一起出现一起消失

    //main方法
    public static void main(String[] args) {
        //局部变量;必须声明和初始化
        int i=10;
        System.out.println(i);

        //变量类型 变量名 = new Demo02();
        Demo02 demo02=new Demo02();
        System.out.println(demo02.age);//0
        System.out.println(demo02.name);//输出null
        System.out.println(salary);//2500,可以直接输出
    }

    public void add(){//另一个方法
        //System.out.println(i);//i是局部变量,在另一个方法中,不能再输出i
    }
}

在这里插入图片描述

常量

初始化之后不能再改变值

final 类型 常量名=值

static final double PI=3.14;
    //final 是修饰符,不存在先后

起名规范

变量:首字母小写,后面单词首字母大写(驼峰原则):lastName

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run(),runRun()

运算符

普通的运算符都有

优先级用()分开

在这里插入图片描述

public class Demo03 {
    public static void main(String[] args) {
        long a=123123123123123L;
        int b=123;
        short c=10;
        byte d=8;
        System.out.println(a+b+c+d);//输出long型
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        //有long型就会转换成long型
        //没有long,不管有没有int型变量都会转换成int型(比int低的数值型)
        
        //关系运算符返回结果:正确、错误(布尔值)
        //多用在if里
        int m=10;
        int n=20;
        System.out.println(m>n);//false
        System.out.println(m<n);//true
        System.out.println(m==n);//false
        System.out.println(m!=n);//true
    }
}

在这里插入图片描述

幂运算

double pow=Math.pow(2,3);
System.out.println(pow);//8

在这里插入图片描述

位运算

与二进制有关的

/*
A=0011 1100
B=0000 1101
与运算:
A&B=0000 1100
或运算:
A|B=0011 1101
异或运算(相同为0,不同为1):
A^B=0011 0001
~B=1111 0010
左移:<<(相当于*2)  右移:>>(相当于除2)
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/

字符串连接符

int i=10;
int j=20;
int k=5;

//字符串连接符    +   +两侧有一方是String类型的就会把另一个操作数转换成String类型再进行连接
System.out.println(""+i+j);//1020
//字符串再后面会先运算再连接
System.out.println(i+j+""+k);//305

在这里插入图片描述

三元运算符

//三元运算符
//x?y:z  如果x==true,则结果为y,否则结果为z
int score=80;
String type=score<60?"不及格":"及格";
System.out.println(type);//及格

在这里插入图片描述

包机制

类似于文件夹,用于区别类名的命名空间

语法格式为:

package pkg1[.pkg2[.pkg3...]];//[]里面可省略

一般利用公司域名倒置作为包名com.baidu.xxx(三个包包含)

为了能够使用某一个包的成员,需要再java中明确导入该包,使用import(必须放在package下面)

import package1[.package2...].(classname|*);
import base.Demo01;
import base.*;//导入这个包下所有的类

JavaDoc

文档注释

Javadoc命令是用来生成自己API文档的

Java JDK帮助文档:https://www.oracle.com/cn/java/technologies/java-se-api-doc.html

JKD8:https://docs.oracle.com/javase/8/docs/api/

在这里插入图片描述

package base;

/**
 * @author zz
 * @version 1.0
 * @since 1.8
 */
//加在类上就是类的注释
public class Doc {
    String name;

    /**
     *
     * @param name
     * @return
     * @throws Exception
     */
    //加在方法上就是方法的注释
    public String test(String name)throws Exception{
        return name;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值