JAVA基础知识总结

计算机的基础知识

什么是计算机

 计算机硬件

 计算机软件

软件开发

计算机语言

 人机交互

 常用的DOS命令

 

创建目录
md (make directory)文件夹名称(目录名称)

创建文件  
copy con 文件名称带上后缀名 ----按回车键---进入编辑模式,书写文件内容,书写完成成之后,按---ctrl+z,编辑完成----回车即可!

删除指定的文件夹(目录)

rd 文件夹名称(目录名称) 注意:只能删除空目录
rd  (remove deirectory)

删除文件   

del 指定文件名称 也可以批量删除所有同名的后缀的文件

rd的扩展指令
在windows系统上,想删除带内容的目录(里面有文件或者子文件夹)
rd /s 文件夹名称(目录) :询问删除删除带内容的目录?  y/n 选择y就是删除,n不删除

rd /s /q 文件名称(目录) :不询问删除带内容的目录 (属于暴力删除  这个指令慎用!)

系统指令
        查看ip地址  ipconfig
        ping  ip地址或者域名:查看自己本机是否通信
        ping指令(类似于 二战的时候:驱逐舰找潜艇,利用声呐系统)

如果当前ping和别的计算机之间,如果通信不了,那么两台计算机的防火墙没有关闭,线下的时候,提前将电脑防火墙关闭

java的职业规划

1)Java开发工程师(主业),毕业之后肯定需要从事这个岗位1-3年(3-5年)不等;

--->项目经理(pm认证 项目管理:不去做技术方面,管理项目进度,成本,人员配备)
--->架构师(系统设计,整个项目框架搭建)....
2)全栈工程师(可能一些自研:需要我们Java的写前端)
3)运维开发
3)测试开发:(白盒测试需要懂编码, Java/Python...)

java语言可以完成哪些事情

 大到物流系统,网银系统,医院系统以及互联网相关行业,小到超市以及便利店收银系统等等
都可以使用Java语言(360行业都会有)

java的平台版本

JavaSE(Standard Edition): 针对桌面应用程序的解决方案
JavaME( Micro Edition) :针对嵌入式设备提供的一套解决方案
               移动端:Anroid基于JavaSE,还需要anroid相关的广播,订阅,服务,,,
                     Ios系统基于C语言
JavaEE( Enterprise Edition)    :针对企业级开发解决方案(以后就是搞这个的!)
                学习JavaEE核心技术13种:
                            Servlet
                            Jsp
                            Spring
                            Springmvc
                            Mybatis
                            Springboot

关于java语言的介绍以及jvm.jre.jdk的介绍

Java简单性,健壮性,分布式, (良好的移植性,开源)

JVM:Java Virtual Machine Java虚拟机
假象计算机,自己的网络,自己的内存区域等等;

Jre:Java Runtime Environment Java运行环境,所有的Java应用程序要运行,计算机上必须有Java环境的支持,没有这个东西,运行不了,而Jre里面包含了Jvm以及Java程序运行时所有需要的核心类库

Jdk:Java Development Kit :Java开发工具包,里面有很多的开发工具 tools.jar包,里面有工具类(Arrays:数组工具类,Collections:集合工具类...),还包括了jre

三者的关系:Jdk > Jre > Jvm

编写第一个java代码

class HelloWorld{
    public static void main( String [] args){
        System.out.println("HelloWorld");
}
}

写完后把后缀名改成.java,然后打开dos窗口进行编译和运行

配置path环境变量

第一种方式:

1)将jdk的bin目录的路径复制
win10/win11--->此电脑--->右键----属性----->高级系统上设置---->环境变量

---->系统变量,不要在用户变量找path,在系统变量找path (用户变量,一个计算机可以有多个用户)
path不要删除别的东西,别的东西都是系统配置,谨慎不要随意删除!
将1)里面jdk的bin目录的路径复制过来放在path里面,
D:\develop_software\Java\jdk1.8.0_162\bin

配置完成之后,打开dos窗口,在任何路径下都可以使用javac和java(c盘系统盘,有的文件夹没有权限)
输入javac
java
java -version 都是有提示信息,说明可以用了(如下图:)

 

 

 

第二种方式:

配置方式1的弊端:
    1)就是当我们jdk版本升级了,需要手动更改系统变量的里面path,可能改动过程中不小心将别的环境变量误删了,为了避免这个问题我们不能改动path了,使用方式2配置! (主要原因)
    2)二阶段学习tomcat服务器,服务器是使用Java编写的,它在启动的时候,必须要在系统变量里面JAVA_HOME,这也是为什么我们需要使用方式2的配置;如果系统变量没有JAVA_HOME,那么tomcat的web服务器就会启动失败(闪屏) (在二阶段讲到tomcat服务器去说)


配置方式步骤
    1)赋值jdk安装目录的路径,不是bin目录     D:\develop_software\Java\jdk1.8.0_162
    2)此电脑---->右键---->选择属性---->高级系统设置---->环境变量---->系统变量
    系统变量----->新建一个变量名: JAVA_HOME
                变量值:就是1)的路径
    3)在path里面 引入JAVA_HOME对应的变量值的路径
        path环境变量里面的最前面  %JAVA_HOME%\bin ,如果win10/win11 点击path,隔段形式,后面不用分号
        如果是在一行上bin后面带上分号;
        
        


好处:以后jdk版本升级,需要改动path? 不需要,只需要改动JAVA_HOME变量值里面的路径

Path环境变量的执行流程

1)首先肯定需要在指定目录中找对应的.java文件,
    举例:如果.java文件是在D盘根目录下,肯定需要现在这个D盘里面 javac xx.java--->进行编译和运行
    如果当前指定目录有这个java文件,直接编译和运行!
2)如果在当前这个指定目录找不到,它就会去系统变量path环境变量里面找 :
    jdk安装目录的bin里面去找,如果这里面也没有,最终,提示----"找不到文件!"

注释

注释:在计算机编程语言为了提高代码阅读性,给某些代码进行标记文字提示,让程序阅读性更高一些,
作为中国人,肯定加入中文字符,但是一般习惯写注释,因为代码给人看的(人:程序员),接手别人的项目,它代码没有注释,
很难受!

注释:一行代码---标记了很多行注释,阅读性比较差!(简单标记)

Java中的注释的分类:
        单行注释://书写内容
        多行注释:/* 书写内容 */
        前面两个普通注释:主要就是来标记代码,提高代码阅读性
        
        
        
        文档注释: /**  书写内容 */  :特殊注释,可以被解析的

关键字

Java的关键字:
        被Java语言赋予特定含义的单词,叫关键字!
        
在高级记事本notepad++以及editplus记事本以及开发工具idea(以后用的这个)/eclipse等等
针对关键字有一种颜色标记    


    package:包名(文件夹/目录结构) :以后在开发中代码分包,分层的 (真实的意义:在面向对象部分讲解)
    
    class:定义类的格式,Java中最基本单元就是类 固定格式 class 类名{}
    public:权限修饰符 (公共的/公开的,任何人都可以访问的),访问权限足够大
            还有其他权限修饰符private,protected ,具体的讲解在面向对象部分去讲
    static:静态修饰符 (面向对象部分讲解,本身的含义被"共享,共用")
    
    变量里面的基本数据类型都是关键字

标识符

标识符:(起名字,"见名知意")
            对包名,类名,接口名,变量名,方法名,常量名起名字的一个字符序列!
            
            
组成规则:
        1)有0-9到数字组成
        2)字母字符(26个字母)
        3)$符号
        $)_下划线
    
对包名(目录结构package) 起名字规范  (面向对象部分讲解 包的含义)
            单级包:(字母都是小写)        com包名
                                            xx.java
            多级包:包名和包名使用.隔开
                                        com.qf
                                            com下面会有一个qf文件夹
                                                xx.java文件
对类名和接口名起名字是同样的:(遵循阿里规范:大驼峰命名法)
            定义类的时候:如果类名是单个单词,首字母大写,其余小写
            
            举例
                    class  Hello{}
                    class  Demo{}
            如果类名它是多个单词组成,每个单词首字母大写,其余小写
            举例:
                    class HelloWorld{}
                    class MakeNameDemo{}
                    class StartGame{}
                    
 

对变量名和方法名起名字是相同   规范: (遵循小驼峰命名法)
            
            如果变量名是一个单词,那么 单词的字母全部小写
                        举例:  定义价格
                                int price = 5;
            如果变量名是多个单词,那么第一个单词字母小写,
    从第二个单词开始,每个单词首字母大写    ,其余小写!
                        举例:
                                定义苹果价格
                                int applePrice = 7;
    
对常量起名字(以后看到java的源码里面常量的格式:使用的多个单词写的)
           如果常量名,单个单词 ,字母全部大写
                            举例        HELLO
                            
            如果是多个单词,字母全部大写,单词和单词之间用下划线隔开!
            jdk提供的Thread类 :线程
                    定义线程优先级三个常量:只看格式 (最小优先级,默认优先级,最大优先级)
                public final static int MIN_PRIORITY = 1;
                public final static int NORM_PRIORITY = 5;
                public final static int MAX_PRIORITY = 10;

            注意事项:
                1)起名字,可以数字,但是不能以数字开头
                2)Java严格区分大小写,一定要起名字见名知意
                3)标识符不能是Java中的关键字

常量

常量在程序过程中,其值不发生改变的量!

字面值常量
            1)字符串常量:使用英文的符号"" 双引号括起来的任何内容都是字符串
                举例
                        "helloworld"
                        "我爱高圆圆"
                        "今天天气不好,心情是绿色的!"
            2)字符常量:使用英文的'' 单引号阔括起来的单个字符内容
                    'a' :字符小a
                    'A' : 字符大A
                    '0' : 字符0
                    
                    不能'ab'---jvm在解析的时候,认为这个字符串,不是单个内容,解析错误!
             
            如果字符不参与运算,就是字符本身!
            如果字符参与运算的时候,此时  字符(键盘上的每一个按键都是字符)
            它就会去找ANSI码表里面的字符对应的值,进行运算;
                    'a' ---  97
                    'A' ---  65
                    '0' ---  48
                    
            3)整数常量
                        100,97
            4)小数常量
                        3.14
                        12.34
                        
            5)布尔常量: true/false
            
            6)空常量: 一般不能直接输出null
                    在引用数据类型(后面讲数组的说),默认值是null

变量

在程序过程中,其值发生改变的量;
    
    学习Java编程语言,在Java中,如何定义变量?
    变量的三要素
        1)数据类型
        2)变量名
        3)初始化值

定义变量的方式

1)先定义,然后在赋初始化值
                    数据类型 变量名;
                    变量名 = 值;  (在使用这个变量之前,必须赋值,否则编译报错!)
2)要么直接定义时候赋初始化值
                    数据类型 变量名 = 初始化值;

数据类型有哪些

分为两大类
基本数据类型:
四类八种
                1)整数类型: 有四种,默认int (讲课过程,没有明确类型都是int)
                                byte:字节类型        占1个字节    范围:-128~127(必须记住)
                                short:短整型        占2个字节    
                                int(默认)            占4个字节
                                long:长整型            占8个字节
                                        在定义long 的时候,规定,在初始化值加上L或者l
                                
                            
                                
                2)浮点类型:默认double
                    单精度类型float ,在定义float类型后面规定,                  占4个字节
                            需要标记,在初始化值的后面加上F或者f
                                        
                    双精度类型duoble:                                    占8个字节
                3)字符类型:        
                      char:  里面的内容'字符'                             占2个字节
                 4)布尔类型:开发中,逻辑判断的true还是false的结果
                                
                                
                    boolean    一般boolean不参与运算,只是表示true或者false       占1个字节
                    
                    
                基本类型里面整数类型开发中:
                        用最多的int,其次long    
                    (long类型定义时间毫秒值,后期通过常用类的功能,将系统时间得到时间毫秒值)
                    
                基本类型里面的浮点类型:使用最多的double(市场价格/商场价格...)
                    
            引用数据类型:(后面 面向对象说    讲数组里面去说)
                    数组,类,接口
                        类(具体类/抽象类)

 java中的运算符

运算

对常量或者变量进行操作的过程称为运算

运算符

对常量和变量进行操作的符号叫做运算符

操作数

参与运算的数据叫做操作数

表达式

用运算符将常量和变量连接起来的式子叫做表达式

算术运算符

+的几种作用

/和%的区别

/获取的是操作的商,%是获得除法操作的余数

--和++在值前和值后的区别

在参与运算的时候--或者++在值前那么就先自增或者自减再参与运算

在值后就是先参与运算再进行自增或者自减
赋值运算符

+=,-=,*=,/=,%=

=为基础的赋值运算符,其他的为扩展的赋值运算符

扩展赋值运算符+=,-=,*=,/=,%=,有一个特点:隐藏了强转类型转换
比较运算符

注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注2:比较运算符 “==〞不能误写成“=".
逻辑运算符

&和&&的区别

逻辑双与&&和逻辑单与&有什么区别?
            共同点:
                    无论是逻辑单与&还是逻辑双与&&都是表达并列关系,
                    而且都是有fasle则false!
                    
            不同点:
                    
                    逻辑单与&,对多个并列条件在执行的时候,效率比较低,因为都
                    需要将这个符号左边的表达式和右边的表达式都需要执行一遍!
                    
                    逻辑双与&& ,
                        连接的表达式如果左边为false,则右边不执行(具有短路效果)
                        开发中扩展的逻辑运算符,代替基本的运算符,执行效率高!

|与||的区别

单或|:有true则true

逻辑双或||:
                连接的表达式如果左边为true,则右边不执行(具有短路效果)


位运算符

基本的位运算符号:
            位与&
            位或|
            位异或^
            反码~
            
移位符号:
            << 左移     结论
            >> 右移      结论
            >>> 无符号右移
三元运算符

     格式:
            (表达式)?执行true的结果:执行false的结果;
            
    执行流程:
            表达式可以简单可以复杂,如果结果是true成立,则执行成立的结果
            否则不成立,则执行false的结果

强转类型转换

显示转换:强转类型转换:就是将大的数据类型---转换成小的数据格式
目标数据类型 变量名 = (目标数据类型)初始化值;

 隐类型的转换

byte,short,char三者不会互相转换,一旦参与运算会优先转化为int--->long--->float--->double(默认类型提升也成为了隐式类型转换)

 键盘录入数据--->jdk提供文本扫描器java.util.Scanner

 为了进行数据逻辑判断操作的时候,程序更灵活一些
    Jdk提供了类供我们使用----->文本扫描器   java.util.Scanner类
在Java中,只要我们用的其他类,只要不是java.lang.xxx类都需要导包
                            java.lang.String
                            java.lang.Integer
                            java.lang.Math
                            .....


    使用步骤:
            1)导包  :位置是在class的上面
            import java.util.Scanner ;  //用谁导谁
            
            2)创建文本扫描器     ----java中的关键字 new  创建对象(具体在面向对象中讲)
                    
    Scanenr 变量名(称为"键盘录入对象名") = new Scanner(System.in) ;  固定格式 变量名 ,自己起名字
                    
            3)友情提示 "请输入一个数据:"

            4)通过文本扫描器录入数据  (整数默认int)        
                       使用2)的变量名
                                
            int  结果变量名=     变量名.nextInt() ; //.nextInt() :调用文本扫描器的提供功能,录入int类型

            5)使用这个结果变量名来进行操作

流程控制语句

顺序结构语句
选择结构语句
    if语句(三种格式if/if...else/if ...else if...else)
    switch语句(考点)
循环结构语句
    for循环:开发中常用的
    while循环:
    do-while循环: java源码里面使用多一些 (工程上使用的比较少)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值