华清远见-重庆中心-JAVA基础阶段技术总结/知识点梳理/个人总结/关于JAVA技术的解析(看法)/面试题解析

本文详细总结了Java基础知识,包括JDK安装、Java变量、关键字、基本数据类型、运算符、循环结构、分支结构、数组、以及个人理解和面试题解析。深入探讨了Java运行原理,强调了JDK、JRE和JVM的区别,同时提供了各种编程实例,如计算BMI、随机字符生成等,以及数组排序和循环控制。
摘要由CSDN通过智能技术生成

Java基础知识

概述

什么是java:1.是边编译边解释的面向对象的编程语言。

                   2.java语言是1995年发布的,发布语言公司是:Sun

                   3.下载安装Java时从Oracle官网下载,最好下载LTS长期维护版本。Java8,Java11,Java17

                   4.由于Java虚拟机JVM的存在,可以全平台运行。

                   5.java之父:james gosling oak

JDK安装

  • JDK--Java Development kit(Java开发工具包)
  • JRE--Java Runtime Environment(Java运行环境)
  • JVM--Java Virtual Machines(Java 虚拟机)
  • java的技术体系结构:安装jdk的时候,主要安装的是java se相关内容。

1.先到oracle官网去下载JDK(https://www.oracle.com/technetwork/java/javase/downloads/index.html)

2.打开环境变量设置

 3.JAVA_HOME:jdk的安装路径

4.PATH:JDK的安装包中的bin目录--path配置之后,可以在命令行窗口使用命令

5.测试环境变量的配置:

window+R,然后输入cmd,就可以打开命令行窗口。然后输入java-version命令,查看安装jdk版本

 java第一个程序

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

java的变量

  1. 什么是变量:变量是指代在内存中的一块存储空间,用于存储程序运算过程中需要用到的数据。
  2. 变量的定义

         变量声明的语法规则:变量类型 变量名字   

  •    在变量声明时同时初始化: 变量类型 变量名字 = 初始值
  •    先声明变量,在第一次使用变量之前再对变量赋初值
  •     未经声明的变量不能使用
  •     如果多个变量的类型相同,可以在一条语句中声明,中间用逗号分隔
  • 变量的命名需要符合Java标识符语法要求

    -可以有字母,数字,”_”和”$”符组成

    -首字符不能以数字开头

    -Java是大小写敏感的语言,命名变量时需要注意

    -不能使用Java保留字(Java语言规定好的,有特殊含义的字符:public static void…

  • 中文可以作为变量名字,但是不推荐使用。

    Java变量命名最好能“见名知意” Java编程规范要求:变量的命名需要采用“驼峰命名法”,即:如果Java变量名字由多个

    英语单词组成,除第一个单词首字母小写外,其他的单词,需要首字母大写,其余的字母小写。如(timeMills)

java的关键字

 

 java中基本数据类型

 整形int

  • int是最常用的整数类型。一个int类型占用4个字节(32位),

    最大表示范围为:-2147483648 ~ 2147483647

  • 整数类型的直接量(literal)默认是int类型。

  • 两个int整数相除(/),结果取整,舍弃小数部分(非四舍五入),结果还是整数

  • 整数运算要防止溢出

    -整数运算的过程中,运算结果,如果超过了整数能表示的最大范围,会发生溢出。

    正数过大溢出,结果变为负数;负数过小溢出,结果变为正数。

  • 代码

package day2;

// int数据类型介绍

public class IntDemo {
    public static void main(String[] args) {
        // 1. int的数据是占4个字节

        int  a = 10000 ;
        System.out.println("a:" + a); // 输出变量a.

        //int a1 = 10000000000 ;// 100亿 , 编译错误。 超过了int的最大范围。

        int  b = 1500000000;
        int  c = 1500000000;
        int  sum = b + c ;  // 和超过了int的最大值

        System.out.println("sum:" + sum);// sum:-1294967296 , 这里溢出了。

        //2 . 直接量

        int k  = 100 ;// 这里的100就是直接量

        System.out.println("k十进制:" + k);
 int k1 = 0x100;
        System.out.println("k1十六进制:" + k1);
        int k2 = 0100;
        System.out.println("k2是8进制:" + k2);
        // 3. int数据的运算: + , - , * , /(取整) , % (取余)

        int a1 = 9 ;  // 定义变量

        int a2 = 4 ;
        int c1 = a1 + a2 ; // c1 = 13

        int c2 = a1 - a2; // c2 = 5

        int c3 = a1 * a2; // c2 = 36

        int c4 = a1 / a2;// 取整: java程序中规定,两个整数的运算结果只能是整数(9/4 

等于2)

                         //   , 数学中(9/4等于2.25)

        System.out.println("c4:" + c4);
        int c5 = a1 % a2;// 取余: 获取两个数相除的余数

        System.out.println("c5:" + c5);
        // 思考, 怎么判断一个数据是奇数还是偶数

        if(a1 % 2  == 0){ //a1 % 2 == 0 判断是否相等 , 结果是true或false.

            System.out.println(a1 + "是偶数");
       }else{
            System.out.println(a1 + "是奇数");
       }
        // 除法的练习 :计算百分比

        int  current = 33 ;
        int  total = 50 ;
        System.out.println("第一种:");
        System.out.println( current / total   * 100 + "%");
        System.out.println("第二种:");
        System.out.println( current  * 100 / total + "%");
   }
}

长整型long

  • 如果要表示的整数已经超过了int的范围,那么可以用long类型定义变量,保存数据。

    long类型数据范围(8个字节,64位):

    -9223372036854775808~9223372036854775807

  • long类型直接量的表示,需要在数据后面加一个L或l;

  • 通过long类型来存储系统当前毫秒数,jdk提供了一个方法( System.currentTimeMillis() ),来获 取从1970.1.1日零时至今的毫秒数,

    返回结果为long.

  • 对于较大的整数运算(超出int范围),可以使用long型。

  • 代码

package day2;

// long : 长整形 , 8个字节 , 如果int数据范围不够,就选择使用long

public class LongDemo {
    public static void main(String[] args) {
        // 1. 定义long类型的变量

        long a1 = 100;
        // java中“直接量”默认为int类型。

       // long a2 = 10000000000;// 100亿超过了int的范围,所以导致编译错误。
 long a2 = 10000000000L ; // 在直接量后,添加"L 或 l "的标志,表示这个直接量
是long类型。

        // 2. 时间毫秒数

        // 练习: 自己计算一年的毫秒数

       // long micro = 365 * 24 * 60 * 60 * 1000 ; //全部都是int类型参与运算,结
果就是int类型,超过int范围,就溢出。

        long micro = 365L * 24 * 60 * 60 * 1000 ; // 把365转为long类型, 所以运
算结果就是long类型。

        System.out.println("一年的毫秒数:" + micro);
        // 3. 获取系统的时间毫秒数: 起点为1970.1.1 0:0:0 距离此刻的时间毫秒数

        long  time = System.currentTimeMillis();
        System.out.println("距今的时间毫秒:" + time);
   }
}

double&float

  • 所谓的浮点类型就是小数类型,包含double 和 float。 浮点类型的默认直接量是double类型。 如果要使用float类型,需要在数据后面加F或f。

    double类型的精度比float类型的精度高,因此,一般用double类型。

    eg: float f1 = 3.3F; double money = 3.5;

  • double类型数据运算的时候,会有舍入误差。 由于舍入误差,导致浮点数不能精确运算。

    二进制中无法表示1/10,就像十进制中无法精确表示1/3,所以二进制表示浮点数存在误差

  • 代码

package day2;

// double - 双精度浮点型 (8个字节)

// float - 单精度浮点型 (4个字节)

public class DoubleDemo {
    public static void main(String[] args) {
        // 1. 定义变量

        double  a1 = 3.5 ;
        //float a2 = 3.5 ;// 编译错误: java中的浮点数直接量默认是double类型。 不能
将double直接赋值给float.

        float a2 = 3.5F ;// 直接量的好后面,使用“F 或 f” ,让直接量为float类型。

        // 2. double 用于计算: + , - , * , /   , %

        double a3 = 1.5 ;
        System.out.println(a1 + a3); // 5.0

        System.out.println(a1 - a3); // 2.0

        System.out.println(a1 * a3); // 5.25

        System.out.println(a1/a3); // 2.3333333333333335

        System.out.println(a1%a3); // 0.5
double a4 = 1.4 ;
        System.out.println(a3 - a4);//0.10000000000000009

        // 3. 练习: 计算自由落体运动的位移 : s = 1/2 * g * t * t;

        double g = 9.8 ;
        int  t = 5 ;
        double s ;
        s = 0.5 * g * t * t; // 运算数据有double类型,因此整体的结构时double类型。

        System.out.println("位移为:" + s ); // 位移为:122.5

   }
}

char类型

  • 字符类型实质上是一个16位的无符号整数,这是整数对应的字符编码

    Java字符类型采用Unicode字符集编码。Unicode字符编码是国际上通用的定长字符集,所有字符 都是16位。 字符直接量,可以采用字符的形式,比如‘中 ’;

    或者采用Unicode编码的方式,比如:‘\u4e4d’

    字符是整数可以参与运算,比如 char c = ‘A’ ; int a = 10 + c ;//75

  • 字符直接量赋值 整数赋值(0~65535) Unicode编码赋值

    eg: char a = ‘A’; char a = 65; char a = ‘\u0045’;

  • 转义字符(\):对于不方便输出的字符,采用转义字符表示。

  • 代码

 

// char - 字符   , 本质就是一个整数 , 占两个字节, 且无符号位。

public class CharDemo {
    p
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值