Java学习(超详细)一

2023-10-27

目录

1.初识Java

1.1 Java简介

1.1.1 什么是程序

1.1.2 Java的产生

1.1.3 Java技术平台

1.1.4 生活中的程序

1.1.5 计算机中的程序

1.1.6 为什么学习Java

1.2 Java环境JDK安装

1.2.1 下载并安装JDK1.8安装包

 1.2.2 配置JDK1.8环境变量

1.2.3 测试JDK1.8是否安装成功

1.3 Java工具安装

1.3.1 常用工具介绍

1.3.2 Idea2018工具安装

1.4 Java项目创建

1.4.1 创建项目(工程/project)

 1.4.2 创建包

 1.4.3 类 

​ 1.4.4 方法()

 1.4.5 拓展

1.5 Java文档工具API

2. 变量、数据类型和运算符

 2.1 Java运行原理

 2.2 变量

2.2.1 内存如何存放数据

2.2.2 生活中的变量

2.2.3 计算机中的变量

2.2.4 常量

2.3 数据类型

2.3.1 Java基本数据类型

2.3.2 Java引用类型

2.3.3 变量命名规则

2.4 运算符

2.4.1 赋值运算符

2.4.2 算术运算符

2.4.3 关系运算符

2.4.4 自动类型转换

 2.4.5 强制类型转换

2.5 Scanner


1.初识Java

1.1 Java简介

1.1.1 什么是程序

定义:1.方式(动作)[细节1-->细节2--->细节3]

           2.过程(流程) [第一步-->第二步--->第三步]

1.1.2 Java的产生

(1) 1995年java 诞生

(2) Java之父 高斯林(Gosling)

(3)Java在企业开发中占有率比较高的JDK1.8

1.1.3 Java技术平台

(1)Java技术平台种类:1.平台标准版 2.平台企业版

(2)平台标准版主要包含的技术有Java核心语法等等

(3)平台企业版主要包含的技术仅仅是企业级应用技术等等

1.1.4 生活中的程序

生活中的程序的体现:生活中的很多运用到软件(系统)的场景去执行某个事件 一般需要符合某个特定的流程(1,2,3,4,5,6....)

1.1.5 计算机中的程序

(1)计算机中的程序的定义:1.一系列(一批)  2.有序(有顺序)  3.指令

(2)指令:指挥机器工作的

(3)计算机中的程序的编程语言可以有多种,Java只是其中一种

1.1.6 为什么学习Java

(1)高级编程语言

(2)很多领域大数据,AI,人工智能等等学科的基础学科

1.2 Java环境JDK安装

1.2.1 下载并安装JDK1.8安装包

内容:默认下一步直至C盘中[C:/Program files]下有两个文件目录

 1.2.2 配置JDK1.8环境变量

win+q->环境变量->双击”系统变量中的Path”->新建->C:\ProgramFiles\Java\jdk1.8.0_202\bin

->选中-->上移-->3个确定(不要直接关闭窗口,每个窗口都得点击确认按钮)

1.2.3 测试JDK1.8是否安装成功

win+R-> cmd ->java -version / javac -version

 出现对应的jdk版本信息就说明安装成功

1.3 Java工具安装

1.3.1 常用工具介绍

(1)Myeclipse 初学者必备

(2)Eclipse    企业版必备(目前市场占有率比较少)

(3)Idea      企业版必备(目前市场占有率比较多)

1.3.2 Idea2018工具安装

步骤:双击默认下一步->直至完成【安装路径改为非C盘】

1.4 Java项目创建

创建Java项目的步骤:项目(工程/project) ->包(package) ->类(class)->方法(())

1.4.1 创建项目(工程/project)

 1.4.2 创建包

1.4.3 类 

 1.4.4 方法()

 测试方法:(入口方法/main函数)

 1.4.5 拓展

1.5 Java文档工具API

如菜鸟教材那样帮助我们写代码的,网上有很多,这里推荐一个

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

2. 变量、数据类型和运算符

2.1 Java运行原理

在进行本章节的学习前,让我们来看看一个java程序的运行是怎么样的一个过程吧

进行如下步骤

步骤1:在本地磁盘创建一个文本文件,命名为Demo.java(源文件)

步骤2:在源文件中编写Java代码

步骤3:在当前文件路径下通过cmd跳转到DOS窗口(控制台页面)

步骤4:通过javac命令( javac Demo.java)编译源文件,会生成字节码文件(二进制文件)

步骤5:通过Java命令(Java Demo)运行字节码文件 

步骤6:在控制台上可输出对应语句

总结1:Java是跨平台语言,所以系统运行Java代码都是运行class字节码文件

总结2:Java是运行原理的流程:Java源文件-》javac命令进行编译工作并生成class文件-》

                                                   java命令运行class文件才能执行Java代码中的功能

 2.2 变量

2.2.1 内存如何存放数据

存放特点

特点1:临时数据存放在内存条

特点2:永久数据存放在硬盘

拓展:栈,堆,方法区的关系是什么?

答:1.栈一般存放变量

       2.堆一般存放对象

       3.方法区一般存放静态成员

2.2.2 生活中的变量

“类比”开房间

房间 ——变量

房间号——变量名

房间类型——变量类型

入住的客人——变量值

2.2.3 计算机中的变量

步骤1(定义变量的行为)

变量类型 变量名;

步骤2(赋值的行为);

变量名=变量值;

步骤3输出变量

System.out.println(变量名);//控制台输出的是变量值

public class Demo03 {
    public static void main(String[] args){
        //步骤1:定义变量
        int money;    //int是变量的类型,类型是int类型的(数值类型)
                      //money是变量的名称
        //步骤2:给变量赋值
        money = 12;
          //        money是变量的名称
          //                =是赋值的行为
          //                12是变量值
        //步骤3:获取变量值输出到控制台上
        System.out.println(money);
    }
}

2.2.4 常量

  1. 定义:固定的值一般存放在常量中
  2. 常量与变量的区别:变量一般存放可变的值,而常量一般存放固定的值
  3. 常量的命名规范:

                          常量名一般纯大写

                          不同字符使用下划线分隔

                          只能赋值一次不能更改

public class Demo04 {
    //1.常量名通常纯大写
    int HEIGHT = 540;//身高

    //2.不同字符使用下划线分隔
    int HEIGHT_CHILD = 340;//孩童时期的身高

    //3.只能赋值一次,不能更改
    final int HEIGHT_ONE = 2497;//在类加载时初始化一次,后面不可更改

}

2.3 数据类型

2.3.1 Java基本数据类型

8种基本数据类型:

整型:byte,short,int,long

浮点型:float,double

字符型:char

布尔型:boolean

 注:关于 float 型和 double 型的区别,以及 char 型和 String 型的不同:

1.

①.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位

double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位

②.java中默认声明的小数是double类型的,如double d=4.0

如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0

其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义

③.对编程人员而言,double 和 float 的区别是double精度高,但double消耗内存是float的两倍,

且double的运算速度较float稍慢。

2.

①.char表示字符,定义时用单引号,只能存储一个字符,如char c='x';

而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name="tom";

②.char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。

String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。

2.3.2 Java引用类型

引用数据类型我们这里只重点介绍一下String类型(字符串类型)

String类型变量存放的是字符串

命名和赋值如下

public class Demo05 {
    public static void main(String[] args){
        String a;
        a = "jojo乔斯达";
        System.out.println(a);
    }
}

2.3.3 变量命名规则

1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 love 和 LOVE 是两个不同的标识符哦!

4. 标识符的命名最好能反映出其作用,做到见名知意。

5. 多个字母组合需符合驼峰规则(规范来说),例如moneyCount

2.4 运算符

2.4.1 赋值运算符

赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

Java 支持的常用赋值运算符,如下表所示: 

2.4.2 算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 

Java 中常用的算术运算符: 

其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴 

 一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

2.4.3 关系运算符

比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

Java 中常用的比较运算符如下表所示:

注意:

1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

知识扩展: java中equals和==的区别

1、值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。

2、==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

3、equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

4、==比较的是2个对象的地址,而equals比较的是2个对象的内容,显然,当equals为true时,==不一定为true。

2.4.4 自动类型转换

Java所有的数值型变量可以相互转换,如果系统支持把某种基本类型的值直接赋给另一种基本类型的变量,则这种方式被称为自动类型转换。

当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换,否则就需要强制转换。

就如同有两瓶水,当把小瓶里的水倒入大瓶中时不会有任何问题。

Java支持自动类型转换的类型如下所示,左边的数值类型可以自动类型转换成箭头右边的数值类型。

1),byte->short->int->long->float->double

2),char->int->long->float->double

在实际应用中除开基本数据类型之间的转换,还有一个引用类型String(字符串类型),它和基本数据类型之间也是需要经常的相互转换:

 2.4.5 强制类型转换

如果希望上面自动转换中,箭头右边的类型转换成左边的类型,则必须进行强制类型转换。

强制类型转换的语法格式:(targetType)value,强制类型转换的运算符是圆括号()。

当进行强制类型转换时,类似于把一个大瓶子里面的水倒入一个小瓶子,如果大瓶子里面的水不多还好,如果大瓶子里面的水很多,将会引起溢出,从而造成数据丢失。

这种类型也称为缩小转换。

注意:当试图强制把表数范围大的类型转换为表示范围小的类型时,必须格外小心,因为非常容易引起信息丢失。

2.5 Scanner

可以用来与用户进行交互

获取控制台由键盘输入的信息

import java.util.Scanner;

public class Demo08 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入你的名字:");
        String name = scanner.next();
        System.out.println();
        System.out.println("你的名字是"+name);
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java学习(超详细)一 的相关文章

随机推荐

  • git 如何解决 (master

    git 如何解决 master MERGING git reset hard head 回退版本信息 git pull origin master 转载于 https www cnblogs com 651434092qq p 110188
  • 国产开源新标杆!20B大模型,性能媲美Llama2-70B,单卡可推理

    明敏 发自 凹非寺量子位 公众号 QbitAI 国产新标杆 免费可商用的200亿参数大模型 来了 书生 浦语大模型 InternLM 20B版本正式发布 一举刷新国内新一代大模型开源纪录 它由上海人工智能实验室 上海AI实验室 与商汤科技联
  • MySQL入门---超详细安装及基本使用教程

    数据库技术和数据库系统 数据库技术和数据库系统已经成为计算机信息系统的核心技术和重要基础 gt gt MySQL简介 MySQL是一款单进程多线程 支持多用户 基于客户机 服务器 Client Server C S 的关系数据库管理系统 是
  • 怎么使用blender

    Blender是一款开源3D建模和动画软件 可以用来制作三维图像 动画 游戏 音频和视频 要使用Blender 需要先下载并安装该软件 安装完成后 打开Blender 您会看到一个3D空间 包含一个默认的立方体 可以通过鼠标和键盘来对立方体
  • strdup函数的用法

    函数名 strdup 功 能 将串拷贝到新建的位置处 用 法 char strdup char str 这个函数在linux的man手册里解释为 The strdup function returns a pointer toa new s
  • 推荐系统实战5——EasyRec 在DSSM召回模型中添加负采样构建CTR点击平台

    推荐系统实战5 EasyRec 在DSSM召回模型中添加负采样构建CTR点击平台 学习前言 EasyRec仓库地址 DSSM实现思路 一 DSSM整体结构解析 二 网络结构解析 1 Embedding层的构建 2 网络层的构建 3 相似度计
  • 【毕业设计】深度学习验证码识别算法研究与实现 - python 机器视觉

    文章目录 0 简介 1 数据收集 2 识别过程 3 网络构建 4 数据读取 5 模型训练 6 加入Dropout层 7 数据增强 8 迁移学习 9 结果 9 最后 0 简介 Hi 大家好 这里是丹成学长的毕设系列文章 对毕设有任何疑问都可以
  • 测试老鸟总结,性能测试需求分析-性能必要性,一篇打通...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • java中Optional使用方法

    Optional是Java 8中提供的一个容器类 用来装载可能为空的引用 在使用Optional时 不需要检查null 可以避免NullPointerException 1 创建Optional实例 Optional可以通过工厂方法of o
  • Linux下PostgreSQL主备环境搭建和切换

    1 概念 数据库热备 数据库热备是指为主数据库的创建 维护和监控一个或多个备用数据库 它们时刻处于开机状态 同主机保持同步 当主机失灵时 可以随时启用热备数据库来代替 以保护数据不受故障 灾难 错误和崩溃的影响 流复制 streaming
  • ubuntu基于docker搭建hadoop集群【史上最详细】

    1 安装docker ubuntu 18 04安装 docker 2 拉取 ubuntu镜像 如果不指定版本号的话 默认拉取最新的ubuntu版本 docker pull ubuntu 3 创建容器 1 查看已拉取的镜像 docker im
  • 统信UOS桌面操作系统安装教程

    配置推荐 CPU 频率 2GHz 及更高的处理器 内存 推荐配置 4GB 以上 最低配置 2GB 硬盘 至少 64GB 的空闲硬盘 https www uniontech com next product desktop system ed
  • Linux系统:安装python3

    目录 一 python函数输出 1 print 函数输出 二 实验 1 安装python3 一 python函数输出 1 print 函数输出 1 概念 在Python中 使用内置的print 函数可以将结果输出到IDLE或者标准控制台上
  • 人工智能-知识图谱的进阶一

    第一部分 概论 本文主要分为三个部分 第一个部分介绍我们为什么需要知识图谱 第二个部分介绍知识图谱的相关概念及其形式化表示 最后 作一个简单的总结 并介绍该专栏后续文章会涉及的内容 一 看到的不仅仅是字符串 当你看见下面这一串文本你会联想到
  • config:fail,invalid signature

    微信开发调用JS SDK某些页面报config fail invalid signature 注意 是某些页面才会报这个错误 导致 wx config 失败 百思不得解 看了几遍文档 确认url是页面完整的url 请在当前页面alert l
  • ffprobe查看多媒体流音视频详情

    ffprobe查看多媒体流音视频详情 ffprobe是一个简单的多媒体流解析器 可以查看多媒体流音视频详情 1 ffprobe简介 ffprobe从多媒体流中收集信息 并以人机可读的方式进行打印 例如 它可以用来检查多媒体流使用的容器的格式
  • JavaScript实现简单文本编辑功能

    核心属性 方法 contentEditable html属性 用来设置 或 返回元素的内容是否可以被编辑 语法 p p HTMLElementObject contentEditable true false HTMLElementObje
  • MybatisPlus-条件查询方式及多条件构建查询(亲测)

    一 条件查询方式 取消Spring日志打印 取消SpringBoot和MyBatisPlus的log打印 二 多条件构建查询 格式一 常规格式 格式二 链式编程格式 格式三 lambda格式 推荐 格式四 lambda格式 推荐 并且 an
  • Android Jetpack介绍

    1 文档背景 本文是Jetpack介绍系列文档的开篇 是对Jetpack整体的介绍 后续会对其中的各个组件分别单独说明 2 官方简介 Jetpack 是一套库 工具和指南 可帮助开发者更轻松地编写优质应用 使用这些组件 可帮助开发者遵循最佳
  • Java学习(超详细)一

    目录 1 初识Java 1 1 Java简介 1 1 1 什么是程序 1 1 2 Java的产生 1 1 3 Java技术平台 1 1 4 生活中的程序 1 1 5 计算机中的程序 1 1 6 为什么学习Java 1 2 Java环境JDK