Java的初始学习阶段

时间:2021-04-07
本文章向大家介绍Java的初始学习阶段,主要包括Java的初始学习阶段使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

2021年4月7日第一次,主要基础的梗概,期望以后还有机会更新完善

# 计算机基础(简单规划)

计算机

  • 硬件()主要部件

    • CPU

    • 内存 Memory

    • 主板 Motherboard

    • IO设备

    • 冯·诺依曼体系

      电脑运行结构:输入设备——存储器——输出设备 存储器内过程又分成获得数据然后进行运算返回到存储器。再次得到数 据后通过控制器发送信号到输出设备。

  • 软件

    • 系统软件:Linux、windows、IOS、
    • 应用软件:游戏、社交软件等

常用DOS命令

d: 盘符切换

cd 切换目录

cd .. 返回上级目录

cls 清屏

exit 退出DOS命令窗口

ipconfig 查询当前IP地址

dir 查询当前目录的所有文件

md 创建一个目录

rd 移除一个目录

cd> 创建一个文件

del 删除一个文件

计算机语言

  • 机器语言 101011100类
  • 汇编语言,用单词来代替一些指令
  • 高级语言
    • 面向对象:C++、JAVA
    • 面向过程:C

Java

版本

  • JavaSE:标准版,最基础
  • JavaME:嵌入式开发手机类
  • JavaEE:企业级开发、服务器

工具

JDK:Java Development Kit ——开发者工具

JRE:Java Runtime Environment ——运行环境

JVM:Java Virtual Machine ——虚拟机

JDK=JRE+JAVA开发工具

JRE=JVM+JAVA核心类库

配置环境变量

目的:为了在任意盘里都可以运行java指令

  1. 环境变量中选择系统变量新建一个JAVA_HOME 变量值选择安装路径
  2. 在path路径中编辑环境变量新建%JAVA_HOME%\bin 并移到最上,不然好像无法运行?
  3. 测试是否成功——DOS——java -vesion

编译型、解释型

编译型:把写的东西直接编译成直接看的懂得,例如美国人要看中文,把中文书翻译成英文可以直接看。优点速度快

解释性:经过一个编译器将原程序写成中间类型程序,字节码程序.class文件,到解释器文件,弄成机器能看懂的语言。对于速度要求不高

JAVA 先编译后解释。两特征都有 javac HelloWorld.java —— java HelloWorld(.class文件)

语法

注释

不会被执行!不会被执行!不会被执行!不会被执行!不会被执行!不会被执行

  • 单行注释://

  • 多行注释:/* 注释 */

  • 文档注释:/**

    ​ @author adafads

    ​ @Description cafsa

​ */

标识符

类名、变量名、方法名都叫标识符

  • 所有标识符都以大小写字母或$或_开头
  • 首字母之后以大小写字母、$、_、或数字组合
  • 不能用关键字做变量或方法名
  • 标志符大小写敏感
    • 可以中文或拼音命名但不建议

数据类型

JAVA是强类型语言,必须先定义才能用

  • 引用类型

    • 除基本类型外都叫引用类型
  • 基本类型

    • 整数类型
      • byte 占1个字节
      • short 占两个字节
      • int 占4个字节
      • long 占8个字节
    • 浮点类型(小数)
      • float占4个字节
      • double占8个字节
    • 字符类型 占2个字节
    • 布尔型 boolean 占一位,值只有true和false

数据类型常见问题

  • 整形
//进制              二进制0b         十进制             八进制0            十六进制0X

int i = 10 ;
int i2 = 010 ;
int i3 = 0x10;
System.out.println(i) ;
System.out.println(i2);
System.out.println(i3);

浮点型 存在精度差

//小数表示       float和double
float a = 0.1F ;
double b = 1.0/10 ;
System.out.println(a==b) ;//false
System.out.println(a) ;
System.out.println(b) ;

float c = 23232326316161F ;
float d = c+1 ;
System.out.println(c==d) ;//true
  • 字符型 utf8
//字符型
char a1 = 'q' ;
char a2 = 'w' ;
System.out.println(a1) ;// q
System.out.println((int) a1 ) ;//113
System.out.println(a2) ;//w
System.out.println((int) a2) ;//119



  • 布尔型
//布尔型
//boolean flag = true ;
//  if (flag==true ){};
//  if (flag){}
  • 转义字符

    \t 水平制表符 水平平移一个单位

    \n 换行符

类型转换

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

低==========================================高

​ 小数的优先级高于整数

  1. 布尔值不能转
  2. 不能把对象类型转成不相干类型
  3. 把高容量转为低容量,强制转换
  4. 转换时可能存在内存溢出或精度问题
  5. byte,short,int,long和int一起运算会转为int
  • 强制转化

    • 格式(类型)变量名——高到低
    public class demo03 {
        public static void main (String [] args){
            int i = 128;
            byte b = (byte) i ;
            System.out.println(i);  //128
            System.out.println(b);  //-128
        }
    }
    
  • 自动转换

    • 由低到高
    public class demo03 {
        public static void main (String [] args){
            int i = 128;
            double b =  i ;
            System.out.println(i);  //128
            System.out.println(b);  //128.0
        }
    }
    

变量

可以变化的值,其中包括变量名、变量类型、作用域

定义方法:数据类型 变量名 = 值;例如: int a = 10 ——可以写多个值,但不建议多写——变量必须要有类型——变量名必须为合法标识符

举例:

public class demo04 {
    public static void main (String [] args ){
        int a = 1 ;
        int b = 1 ;
        int c = 1 ;
        String name = "Lesigl" ;
        char x = 'x' ;
        double d =  3.14 ;
         
    }
}
  • 变量作用域
    • 类变量
    • 实例变量
    • 局部变量
public class demo05 {


    //还可以定义属性例如变量

    //类变量

    static double k = 2400 ;

    //实例变量:在类里面,方法外面,从属于这个类,如果不进行初始化,会输出默认值
    //布尔值默认为false
    //除了基本类型都是null
    String name ;
    int age ;




    //main 方法 在类里面
    public static void main (String [] args ){

        //局部变量:必须声明和初始化
        int i = 10 ;
        System.out.println(i) ;


        demo05 DEMO05 = new demo05() ;
        System.out.println(DEMO05.name) ;
        System.out.println(DEMO05.age) ;

    }
    //其他方法
    public void add (){

    }
}
  • 常量

    可以看成特殊的变量,定义后不在改变值大小

    final I = 12 ;

    常量名一般用大写符号

    public class demo06 {
    
    
        // 变量类型前面都是修饰符,不存在先后顺序。
        static final  double PI = 3.14 ;
        public static void main (String [] args ){
    
            System.out.println(PI) ;
    
        }
    }
    
  • 命名规范

    • 所有方法名、类名、变量,见名知意
    • 类成员变量:首字母小写,驼峰
    • 局部变量:首字母小写,驼峰
    • 常量:大写字母和下划线
    • 类名:首字母大写,驼峰
    • 方法名:首字母小写,驼峰

运算符

  • 算数运算符:+、-、*、/、++、--
  • 赋值运算符:=
  • 关系运算符:>、<、>=、<=、==、!=instanceof
  • 逻辑运算符:&&、||、!
  • 位运算符:&、|、~、^、>>、<<、、
  • 条件运算符:?、:
  • 扩展运算符:+=、-=、*=、/=

++ -- 自己增加,自己减少 一元运算符

a++ 代表执行代码,先赋值,后加

++a 代表执行代码,先加,后赋值

幂运算——调用math指令Math.pow(3,2)

逻辑运算

  • 与:两者都为真为真。&&
  • 或:两者一者真为真。||
  • 非:假为真,真为假。!

短路运算——b&&a,b为假就不计算后面的a,直接返回原式

public class demo07 {
    public static void main (String [] args ){
        int c = 1 ;
        boolean d = (c<1) && (c++<=2) ;   
        System.out.println(c) ;
        System.out.println(d) ;    //返回false
    }
}

位运算

  • &:两个都为1,取1

  • |:一个为1,取1

  • ^(异或):两个相同为1

  • ~(取反):两个不同为1

  • 右移>>:把数字除二

  • 左移<<:把数字乘二

字符串连接符,在输出时,+前加一个String类型,会把后面的也转换成String类型。

public class demo08 {
    public static void main (String [] args ){
        int a = 10 ;
        int b = 20 ;
        a+= b ;
        System.out.println(a);  //30
        System.out.println(""+a+b);  //3020  ,String类型在加号前面
    }
}

三元运算符

别说了,爱了爱了

public class demo09 {
    public static void main (String [] args){
        boolean woman = true ;
        String type = woman ? "解决生理需求" : "用手撸" ;
        System.out.println(type) ;   //解决生理需求
    }
}

运算符优先级()yyds

原文地址:https://www.cnblogs.com/Lesigl/p/14629256.html