0
点赞
收藏
分享

微信扫一扫

java基础(适合零基础)持续更新

生态人 2022-04-13 阅读 99
java

目录

java语言的概述

1、概述

2、Java语言特点

3、java的加载与执行

开始第一个java程序

1、安装JDK(这里安装JDK1.8)

2、安装文本编辑器Editplus

3、JDK目录介绍

4、JDK、JRE、JVM的关系

 5、配置环境变量

6、用 Editpuls写第一个程序

 7、编译:

8、运行

 java语言基础(从这里开始就正式进入java的学习)

1、java的主类结构

2、基本数据类型 

2.1、数据类型概述

2.2、字符型

2.3、整数型 

2.4、浮点型 

2.5、boolean类型

2.6、数据类型之间的相互转换

3、变量与常量

3.1标识符与关键字

3.2、声明变量和常量

3.3成员变量和局部变量

4、运算符

4.1、算数运算符

4.2、关系运算符

4.3、逻辑运算符

4.4、赋值运算符

4.5、连接运算符“+”

4.6、三元运算符

流程控制 

1、条件语句

1.1、if条件语句

持续更新中....................


java语言的概述

1、概述

1、Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。java由SUN公司开发,2009年被Oracle(甲骨文)公司收购;

2、Java语言特点

2.1、简单性

java中不在支持多继承,Java中也屏蔽了指针的概念

java语言的底层是c++实现,不是C语言

2.2、面向对象

java是纯面向对象的,更符合人的思维模式,更容易理解

2.3、可移植性

java可以做到一次编译,到处运行,java程序在windoes系统上运行,不做任何修改就可以在Linux系统上运行。

java程序运行在一台虚拟的计算机当中(JVM)然后让JVM链接底层的操作系统

2.4、多线程

2.5、健壮性

java语言中产生的垃圾是自动回收的,(GC机制)

3、java的加载与执行

3.1、java的执行有两个重要的阶段

-编译阶段

-运行阶段

3.2、编译阶段

-编译阶段主要的任务是检查java源程序是否符合语法,符合语法就会生成(XXX.class)文件,也叫字节码文件

-字节码文件不是纯二进制的,无法直接在操作系统中执行

-编译使用的是JDK中自带的javac.exe命令进行的 使用方法:在DOS窗口用(javac  类名.java)

-javac是java的编译工具

3.3、运行阶段

-JDK安装后,除了自带的javac.exe之外还有一个java.exe-在DOS窗口中使用 (java 类名)就可以运行,不需要写(java 类名.class)

开始第一个java程序

1、安装JDK(这里安装JDK1.8)

JDK从Oracle官网下载(自行下载)

官网地址:Java Downloads | Oracle

2、安装文本编辑器Editplus

长这个样子

官网地址:EditPlus - Text editor with FTP, FTPS and sftp capabilities

3、JDK目录介绍

JDK/bin目录下存放了很多指令,例如javac.exe、java.exe

javac负责编译

java负责运行 

4、JDK、JRE、JVM的关系

JDK:是java语言的开发工具包,

JRE:是java的运行环境

JVM:是java虚拟机,java运行时的环境

关系如下

 5、配置环境变量

1、复制 bin目录的路径 如:C:\Program Files\Java\jdk1.8.0_171\bin

2、我的电脑右键属性;

3、点高级系统设置

4、点环境变量

 

5、在下方找到Path,双击打开

6、点击新建,然后把复制的路径粘贴进去,一直确定就好

7、然后打开DOS命令窗口 输入 java 

 这样就算成功了

6、用 Editpuls写第一个程序

1、在文件夹里新建一个文本文档,名字叫Hello.java,后缀名字改成java,如果电脑不显示后缀名在菜单栏中勾选显示后缀名;

新建的文件如下

 

 2、然后右键选择 Editpuls 打开,编写第一个程序,不需要懂意思,照抄就好

代码如下:

2、打开存文件的路径,输入cmd 回车 

 7、编译:

在弹出的DOS窗口中 输入 javac  Hello.java 然后回车 如下就是编译成功了

 成功后会生成Hello.class文件

8、运行

继续输入java  Hello  回车 就会输出 “Hello world!”

 java语言基础(从这里开始就正式进入java的学习)

1、java的主类结构

2、基本数据类型 

2.1、数据类型概述

2.1.1、java中数据类型包括两种

-基本数据类型

-引用数据类型(这里讲的基本数据类型)

2.1.2、关于基本数据类型

-基本数据类型包括四大类,八小种

第一类:整数型

byte、short、int、long

第二类:浮点型

float、double

第三类:布尔型

boolean

第四类:字符型

char

2.1.3、字符串 "abc" 属于引用数据类型,字符属于基本数据类型

字符串使用的是双引号,字符使用单引号

2.1.4、八种基本数据类型

2.2、字符型

2.2.1、字符型用  char 修饰

2.2.2、示例:

2.3、整数型 

public class Hello {
    public static void main(String[] args) {
        //定义byte
        byte b=20;//byte取值范围-128~127,注意别越界
        //短整型
        short s=200;
        //整形
        int i=100;
        //长整型
        long l=300;
    }
}

2.4、浮点型 

public class Hello {
    public static void main(String[] args) {
        //定义单精度
        float f=3.14f;//有效位6~7位
        /*
        在java语言中,所有浮点数都当做double类型处理,
        想要当做float处理,要在末尾加 f;
         */
        //定义双精度
        double d=3.1415926;//有效位15位
        /*
         float 占用4字节
        double 占用8个字节,精度较高
        
        double 和float在计算机内部存储的都是近似值
         */
        
        
    }
}

2.5、boolean类型

public class Hello {
    public static void main(String[] args) {
        //布尔类型只能取true和false两种结果
        boolean b1=true;//这里不能写1或0;只能写true或false;
        boolean b2=false;
        
        /*
        true表示真 
        false表示假
        
        在计算机底层存储Boolean的时候,true底层用1,false底层用0;
        所以boolean只占用一个字节
        */
    }
}

2.6、数据类型之间的相互转换

转换规则

1、八种数据类型之间除了boolean以外,剩下的都可以相互转换

2、小容量往大容量转换,称为自动类型转换,容量从小到大排序:

        注意:任何浮点数不管占多少字节,都比整数型容量大,cahr和short表示的种类数量相同,但是char可以取更大的正整数;

3、大容量转换成小容量的时候叫做强制类型转换,需要加强制转换符;编译阶段通过,运行阶段会损失精度,谨慎使用:

public class Hello {
    public static void main(String[] args) {
       short s;
       long l=200;
       char c='a';
       //强制转换
        //long 转换成short
        s=(short)l;
        /*输出*/
        System.out.println("s="+s);// 输出s=200
        //char转换成short
        s=(short) c;
        /*输出*/
        System.out.println("s="+s);//输出 s=97(a的ASCII码为97)
        
        int i=10;
        //编译会报错,因为编译器只仅检查语法,不会运算i/5;所以不知道结果有没有超出取值范围,所以报错
        byte b=i/5; 
        
    }
}

4、byte、short、char在混合运算的时候,各自先转换成int在做运算;

5、多种数据类型混合运算,先转换成最大容量的那种类型在做运算;

3、变量与常量

3.1标识符与关键字

3.1.1、在java中,凡是需要程序员有权利自己命名的单词就是标识符

标识符可以是:

-类名

-方法名

-变量名

-常量名

-接口名........

3.1.2、标识符命名规则(不遵守编译会报错)

-标识符只能由“数字”、“字母”、下划线_、美元符号$、组成,不能有其他符号

-不能以数字开头

-关键字不能做标识符

3.1.3、标识符命名规范(不属于语法)

-见名知意 ;

-遵守驼峰命名方式

例如 :UserName,Student,SystemService

-类名、接口名:首字母大写,后面每个单词的首字母大写;

-变量名、方法名:首字母小写,后面每个单词的首字母大写;

-常量名:全部大写

3.1.4、关键字

向上面讲的 byte、short、int、long、float、double、public、class、static....

这些都是关键字

3.2、声明变量和常量

public class Hello {
    public static void main(String[] args) {
       //声明变量
        int i=10;
        //对i重新赋值
        i=100;
        /*
        变量可以在程序中多次赋值
         */
        //声明常量 用final关键字修饰
        final double PI=3.14;
        //这里会报错,因为用final修饰的常量不能再次赋值
        PI=5.36;
    }
}

3.3成员变量和局部变量

public class Hello {
    //成员变量(在整个类中都可以调用)
    //其他方法也可以调用
    int id=10;
    String name="zhangsan";
    
    //sum方法
    public void sum(int a,int b){
        //局部变量(只有在这个方法中有用,其他方法不可以调用)
        int cord=30;
        
    }

}

4、运算符

4.1、算数运算符

+:求和

-:相减

*:乘积

/:除

%:取余数

++:自加一

--:自减一

示例代码:

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=3;
        //进行运算
        int c=a+b;
        int d=a-b;
        //也可以直接输出
        System.out.println(a+b);//13
        System.out.println(a-b);//7
        System.out.println(a/b);//3
        System.out.println(a*b);//30
        System.out.println(a%b);//1
        System.out.println(++a);//11  这个意思是a自身先加一,然后再输出
        System.out.println(--b);//2   这个意思是b自身先减一,然后再输出
        System.out.println(a++);//a++意思是a先进行输出,输出之后在进行自身加一
        System.out.println(b--);//b--意思是b先进行输出,输出之后在进行自身减一

    }

}

4.2、关系运算符

>: 大于

>=:大于等于

<:小于

<=:小于等于

==:等于

!=:不等于

=:是赋值运算符

==:是关系运算符

关系运算符的结果一定是Boolean类型:true/false;

示例代码:

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=3;
       int c=10;
        System.out.println(a==b);//false
        System.out.println(a>b);//true
        System.out.println(a<b);//false
        System.out.println(a!=c);//false
        System.out.println(a!=b);//true
       

    }

}

4.3、逻辑运算符

&:逻辑与 (两边的结果都是true结果才为true)

|:逻辑或 (两边的结果有一个为true 结果才是true)

!:逻辑非 (取反 !false 就是true)

^:逻辑异或 (两边的结果只要不一样,结果就是true)

&&:短路与

||:短路或

1、逻辑运算符要求两边都是boolean类型,结果也为boolean类型

2、短路与和逻辑与运算结果是相同的,只是短路与存在短路现象

3、例如:(1)&&(2)运算的时候如果1为false 2就不会在计算了,这种现象称为短路现象

示例代码:

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=3;
       int c=10;
        boolean n= a>b && b>c; //这个相当于 true && false  结果为false
        boolean n2=a>b || b>c;// 相当于 true || false 结果为true
        System.out.println(n); //flase
        System.out.println(n2); //true
    }
}

4.4、赋值运算符

基本的赋值运算符

=

扩展的赋值运算符

+=;例如:a+=b 相当于 a=a+b;以下同理

-=;

*=;

/=;

%=;

赋值运算符优先级:先执行等号右边的表达式,将执行的结果赋给左边的变量

示例代码:

public class Hello {
    public static void main(String[] args) {
        byte a=10;
        long b=3;
       int c=10;
        a+=5;//相当于:a=(byte)(a+5);
        b+=6;//相当于:b=(long)(b+6)
        c+=a;//相当于 c=(int)(c+a)

    }
}

4.5、连接运算符“+”

+运算符的两个作用:

1、加法运算,当加号两边都是数字的话就进行加法运算

2、连接字符串 ,当加号两边只要有一个是字符串,一定会进行字符串连接运算

当在一个表达式中有多个“+”,在没有括号的前提下,遵循自左向右依次运算

示例:

public class Hello {
    public static void main(String[] args) {
       String s="hello!";
       String n=s+"java";
        System.out.println(n);//hello!java
    }
}

4.6、三元运算符

4.6.1、语法规则:

boolean表达式  ? 表达式1 :表达式2;

4.6.2、三元运算符执行原理

-当boolean表达式为true时,执行表达式1,

-当boolean表达式为false时,执行表达式2;

示例代码:

public class Hello {
    public static void main(String[] args) {
        System.out.println(10>3?"是的!":"不是");//是的
    }
}

流程控制 

1、条件语句

1.1、if条件语句

1.1.1、语法结构(一共四种)

表达式为true执行if后面的语句,表达式为false执行else后面的语句

如下:

public class Hello {
    public static void main(String[] args) {
        //第一种
        if(boolean表达式){
            //java语句;
            //java语句;
        }
        //第二种
        if(boolean表达式){
            //java语句;
            //java语句;
        }else {
            //java语句;
            //java语句;
        }
        //第三种
        if(boolean表达式){
            //java语句;
            //java语句;
        }else if(boolean表达式){
            //java语句;
            //java语句;
        }else if(boolean表达式){
            //java语句;
            //java语句;
        }.......
        //第四种
        if(boolean表达式){
            //java语句;
            //java语句;
        }else if(boolean表达式){
            //java语句;
            //java语句;
        }else if(boolean表达式){
            //java语句;
            //java语句;
        }else{
            //java语句;
            //java语句;
        }
    }
}

注意:对于java中的if语句来说,只要有一个分支执行,整个Java语句结束;

所有控制语句都是可以嵌套的,只要合理嵌套就行;

例题:使用if语句实现酒店座位的分配,根据人数安排客人到4人桌、8人桌、或者包厢用餐;

代码如下:

public class Hello {
    public static void main(String[] args) {
        System.out.println("欢迎光临,请问有多少人用餐?"); // 输出问题提示
        int count = 9; // 用餐人数
        System.out.println("回答:" + count + "人");// 输出回答
        if (count <= 4) { // 如果人数小于4人
            System.out.println("客人请到大厅4人桌用餐"); // 请到4人桌
        } else if (count > 4 && count <= 8) { // 如果人数在4-8人之间
            System.out.println("客人请到大厅8人桌用餐"); // 请到4人桌
        } else if (count > 8 && count <= 16) { // 如果人数在8-16人之间
            System.out.println("客人请到楼上包厢用餐"); // 请到包厢
        } else { // 当以上条件都不成立时,执行的该语句块
            System.out.println("抱歉,我们店暂时没有这么大的包厢!"); // 输出信息
        }
    }
}

持续更新中....................

举报

相关推荐

0 条评论