IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java学习第二天之数据类型与运算 -> 正文阅读

[Java知识库]Java学习第二天之数据类型与运算

Java学习第二天之Java程序设计基础

前景提要

完成了helloworld的我相当愧疚

今天靠着C语言的坚实基础,实现Java写水仙花数

今天多学点了

Java基础知识

续上昨天知识

Java程序的运行

这个点是昨天没好好看的,也是要后来接着细看的,先把目前理解的甩上来

我们用记事本弄了个java源文件叫hello.java

javac处理了hello.java生成hello.class,这个过程是 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件

字节码文件是一种和任何具体机器环境及操作系统环境无关[划重点]的中间代码。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言。

Java 解释器将hello.class翻译成机器代码,执行之

啥是JVM

Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分

运行 Java 程序时,会先启动 JVM,然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上。所以不同操作系统只要有对应的JVM,一份java程序就可以做到不同操作系统上的运行

Java 程序通过 JVM 可以实现跨平台特性,但 JVM 不跨平台

其他

出于要快速学习(虽然昨天很摸鱼),基础知识就暂时不放太多

为啥下载了JDK就可以了呢

JDK是Java 开发开源工具包,含有了Java 运行环境 JRE、Java 工具和 Java 基础类库

JRE包含 JVM 标准实现及 Java 核心类库

JVM在JRE里面

然后我们就可以好好搞Java了

集成开发工具

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

我选择IDEA

https://www.jetbrains.com/idea/

Java程序设计

对象与类的概念

(这个为之后学面向对象开发打打基础)

类(class)实例化就是对象(objects),一个类具有属性和方法

举个栗子:

咱们有个类,叫人类

public class human {
    String name;
    int age;
 
    void eat() {
    }
 
    void run() {
    }
 
    void sleep(){
    }

}

这里就是构造一个人的类,有俩属性——名字和年龄,有仨方法——吃、跑、睡

这样子慢慢的可以体会到面向对象的含义,但是今天对于这个不细学,毕竟后面一大块学这个,之后还是会重来一遍这些概念的,先over

Java标识符(名字)

首先这个括号里的名字这个称呼不标准

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

? 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始

? 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合

? 关键字不能用作标识符

? 标识符是大小写敏感的

举个栗子:sex、$salary合法;123非法

关键字

很简单,本身带有的,不能当一般标识符

常量

常量有三种:静态常量、成员常量和局部常量

常量需要初始化,即在声明常量的同时要赋予一个初始值。常量一旦初始化就不可以被修改

final dataType variableName = value

上面这句就是:定义常量 数据类型 名字 = 值

一个合理例子

    public class HelloWorld {
        // 静态常量
        public static final double PI = 3.14;
        // 声明成员常量
        final int y = 10;
        public static void main(String[] args) {
            // 声明局部常量
            final double x = 3.3;
        }
    }
变量

1.Java 语言是强类型(Strongly Typed)语言

强类型包含以下两方面的含义:

所有的变量必须先声明、后使用

指定类型的变量只能接受类型与之匹配的值。

2.定义方式 可以C语言类似了(所以学了C还是有用的)

DataType identifier;

DataType identifier=value;

变量标识符的命名有大学问,但是初学注意即可

3.作用域的不同,一般将变量分为不同的类型:成员变量和局部变量

关于成员变量:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G5DiwVSl-1628522745322)(C:\Users^u^\AppData\Roaming\Typora\typora-user-images\image-20210809231955590.png)]

关于局部变量:

局部变量是指在方法或者方法代码块中定义的变量,其作用域是其所在的代码块。可分为以下三种:

  • 方法参数变量(形参):在整个方法内有效。
  • 方法局部变量(方法内定义): 从定义这个变量开始到方法结束这一段时间内有效。
  • 代码块局部变量(代码块内定义):从定义这个变量开始到代码块结束这一段时间内有效。

局部变量在使用前必须被程序员主动初始化值。

(这里之后填坑吧,理解又没理解的感觉)

数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte:

  • ? byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • ? 最小值是 -128(-2^7);
  • ? 最大值是 127(2^7-1);
  • ? 默认值是 0;
  • ? byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • ? 例子:byte a = 100,byte b = -50。

short:

  • ? short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • ? 最小值是 -32768(-2^15);
  • ? 最大值是 32767(2^15 - 1);
  • ? Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • ? 默认值是 0;
  • ? 例子:short s = 1000,short r = -20000。

int:

  • ? int 数据类型是32位、有符号的以二进制补码表示的整数;
  • ? 最小值是 -2,147,483,648(-2^31);
  • ? 最大值是 2,147,483,647(2^31 - 1);
  • ? 一般地整型变量默认为 int 类型;
  • ? 默认值是 0 ;
  • ? 例子:int a = 100000, int b = -200000。

long:

  • ? long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • ? 最小值是 -9,223,372,036,854,775,808(-2^63);
  • ? 最大值是 9,223,372,036,854,775,807(2^63 -1);
  • ? 这种类型主要使用在需要比较大整数的系统上;
  • ? 默认值是 0L;
  • ? 例子: long a = 100000L,Long b = -200000L。
    "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float:

  • ? float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • ? float 在储存大型浮点数组的时候可节省内存空间;
  • ? 默认值是 0.0f;
  • ? 浮点数不能用来表示精确的值,如货币;
  • ? 例子:float f1 = 234.5f。

double:

  • ? double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;

  • ? 浮点数的默认类型为 double 类型;

  • ? double类型同样不能表示精确的值,如货币;

  • ? 默认值是 0.0d;

  • 例子:

    double   d1  = 7D ;
    double   d2  = 7.; 
    double   d3  =  8.0; 
    double   d4  =  8.D; 
    double   d5  =  12.9867; 
    

    7 是一个 int 字面量,而 7D,7. 和 8.0 是 double 字面量。

boolean:

  • ? boolean数据类型表示一位的信息;
  • ? 只有两个取值:true 和 false;
  • ? 这种类型只作为一种标志来记录 true/false 情况;
  • ? 默认值是 false;
  • ? 例子:boolean one = true。

char:

  • ? char 类型是一个单一的 16 位 Unicode 字符;
  • ? 最小值是 \u0000(十进制等效值为 0);
  • ? 最大值是 \uffff(即为 65535);
  • ? char 数据类型可以储存任何字符;
  • ? 例子:char letter = ‘A’;。
运算

基本运算:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DXaQNIr1-1628522745325)(C:\Users^u^\AppData\Roaming\Typora\typora-user-images\image-20210809232253116.png)]

布尔

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpPRBJES-1628522745328)(C:\Users^u^\AppData\Roaming\Typora\typora-user-images\image-20210809232303075.png)]

位运算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pGXyjFOB-1628522745331)(C:\Users^u^\AppData\Roaming\Typora\typora-user-images\image-20210809232312453.png)]

逻辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2TXQZCLt-1628522745334)(C:\Users^u^\AppData\Roaming\Typora\typora-user-images\image-20210809232351239.png)]

运算顺序之后补上

前两天太水了…不过也料到了,明天努努力(压线发博客)

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:17:12  更:2021-08-10 13:19:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:23:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码