java学习--初识java(代码片段)

庸人冲 庸人冲     2022-12-31     572

关键词:

JAVA概述

Java的由来

Java是一门面向对象的编程语言,其创始人詹姆斯.高斯林,并誉为"Java之父",高斯林在Sun公司与其团队合作开发了一套名为Oak的语言,这是Java语言的前生,Oak语言是为了开发智能家电而出现的,但是因为想法过于超前使得Oak语言没有得到硬件厂商的青睐。在1995年,互联网的迎来了蓬勃的发展,这也给了Oak语言重生的机会,因为Oak是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。当Sun公司准备注册商标时,发现Oak已经被注册了,有一天,几位开发人员在一家名为"爪蛙"咖啡的店里讨论命名时,有一位提议使用"Java",得到了肯定,于是"Java"语言就诞生了。

JDK JRE JVM 三种的关系

JDK: Java Development Kit: 是Java程序开发工具包,包含JRE和开发人员使用的工具。

JRE: Java Runtime Environment: 是java程序的运行时环境,包含JVM和运行时所需要的核心类库

JVM: Java Virtual Machine: Java虚拟机,是运行所有java程序的假想计算机,是java程序的运行环境。

JDK包含了JRE, JRE包含了JVM。

Java编写代码的步骤

  1. 编写源代码:创建.java后缀的文件,使用相关的文本编辑器编写代码,并保存。
    如:
public class Helloworld   // 类是java当在所有源代码的基本组织单位
	public static void main(String[] args) // 方法
		System.out.println("Hello,World");  // 方法体
	


2. 编译java文件,在CMD窗口中切换到.java文件路径输入 javac HelloWorld.java,会在当前文件夹生成一个.class字节码文件。

3. 使用java命令运行生成的字节码文件,注意不要加后缀。

关键字和标识符

java中关键字有很多,比如基本数据类型,4种权限修饰符,extends(继承),implements(实现),throws(异常处理),abstract(抽象),final 等等。

标识符

程序中自定义的名称,比如类名、方法名、变量名等,都是标识符。

命名规则

  1. 标识符包含26个**英文字母(区分大小写)、0-9数字$_**。

  2. 标识符不能以数字开头

  3. 标识符不能是关键字

命名规范

  1. 类名:首字母大写,后面每个单词首字母大写,大驼峰命名法

  2. 变量名、方法名:首字母小写,后面每个单词首字母大写,小驼峰命名法

数据类型

Java中的数据类型分为基本(内置)数据类型和引用数据类型。

基本数据类型

数据类型关键字内存占用取值范围
字节型byte1个字节-128~127
短整型short2个字节-32768~32767
整型int4个字节-231~231-1
长整型long8个字节-263~263-1
单精度浮点型float4个字节1.4013E-45~3.4028E+38
双精度浮点性double8个字节4.9E-324~1.7977E+308
字符型char2个字节0~65535
布尔型boolean1个字节true / false

注意事项:

  1. 字符串不是基本类型,而是引用类型
  2. 浮点型可能只是一个近视值,并非精确的值。
  3. 数据范围与字节数不一定相关,例入float数据范围比long更加广泛,但是float是4个字节,long是8个字节。
  4. 浮点数默认是double类型,如果使用float类型,加后缀F
  5. 整数默认是int类型,如果使用long,加后缀L
  6. Java中没有无符号数。

引用数据类型

字符串、数组、类、接口、lambda

数据类型转换

java程序中要求参与计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

数据类型不一样时会发生数据类型转换。

自动类型转换(隐式转换)

  1. 特点:代码不需要进行特殊处理,自动完成。
  2. 规则:数据范围从小到大,与字节数不一样相关。
public class Demo01DataType

    public static void main(String[] args) 
        System.out.println(1024); // 默认int
        System.out.println(3.14); // 默认double

        // 左边long 右边int
        // long <-- int  符合数据范围从小到大
        long num1 = 100;  // 这一行代码发生了自动类型转换
        System.out.println(num1);
        
        // 左边double 右边float
        //  double <-- float  符号从小到大的规则
        double num2 = 2.5f;  // 也发生了自动类型转换
        System.out.println(num2);
		
		
		// 左右式float类型,右边是long类型,
		// float <-- long ,【数据范围】是float更大一些,符合从小到大的规则
		float num3 = 30L;  // 也发生了自动类型转换
		System.out.println(num3);
    

数据范围从大到小会报错

public class Demo02DataType
	public static void main(String[] args)
		int num = 100L;  // long --> int 不能自动类型转换,可以强制转换
		System.out.println(num);
	

强制类型转换(显式转换)

  1. 代码需要进行特殊的格式处理,不能自动完成。
  2. 格式: 范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
public class Demo02DataType
	public static void main(String[] args)
        // smaller type varName = (smaller type)value;
  		int num = (int)100L;
		
		System.out.println(num);
	

注意事项:

  1. 强制类型转换一般不推荐使用,可能发生精度损失数据溢出

    赋予的值的大小超过了变量的类型存储空间就会发生数据溢出

public class Demo02DataType
	public static void main(String[] args)
        // 数值超过int类型
  		 int num1 =  6000000000;  
		System.out.println(num);
	

// 强制类型转换,数据溢出
public class Demo02DataType
    public static void main(String[] args)
        int num1 = (int)6000000000L;
        System.out.println(num1);
    

// 显示的值不准确

// 强制类型转换,精度损失
public class Demo02DataType
	public static void main(String[] args)
		int num3 = (int)3.99;
		System.out.println(num3);
	

  1. btye/short/char都可参与数字运算。
public class Demo02DataType
	public static void main(String[] args)	
		char ch = 'A';
		System.out.println(ch + 1);
	

  1. 三种类型在参与运算时,会被首先提升为**int类型**,然后再计算。
public class Demo02DataType
	public static void main(String[] args)	
		 short num4 = 1;
       	 short num5 = 2;
        short result = num4 + num5;
        System.out.println(result);
	

// 使用int变量接收后
int result = num4 + num5;
// 或则将结果强制转换为short
short result = short(num4 + num5);

  1. 布尔型不能发生任何数据类型转换

初识java语言-stringstringbuilder和stringbuffer三者之间的区别和联系!!!建议收藏(代码片段)

当我们学习了Java中的继承和多态后,现在我们就可以来学习一个非常重要的东西:String字符串,以及还有StringBuilder和StringBuffer两兄弟。我们直接发车了!!!前期文章前言-IDEA如何配置?让你敲代码更... 查看详情

2.7学习总结之androidjavatokotlin一(初识)(代码片段)

一、Kotlin的方便之处1、Kotlin可以直接使用id来呼叫操控相应的控件(textView.text="0" )  java(TextViewtextView = findViewById(R.id.textView;     textView.setText("0"); ))原因:使用了Kotlin的扩展的功能,importkotlinx.androi... 查看详情

spring4.0学习笔记002——spring应用初识(代码片段)

1.一般应用的组织方式新建名为com.yfyzwr.spring.beans的package,在package中添加名为HelloWorld的java类。在HelloWorld类中实现如下代码。publicclassHelloWorldprivateStringname;publicHelloWorld()System.out.println("HelloWorldConst 查看详情

1.初识lucene(代码片段)

在学习Lucene之前呢,我们当然首先要了解下什么是Lucene.0x01 什么是Lucene?Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜... 查看详情

推荐学java——初识数据库(代码片段)

...据库8,查看当前正在使用的数据库总结引言前面已经学习了四篇关于J 查看详情

推荐学java——初识数据库(代码片段)

...据库8,查看当前正在使用的数据库总结引言前面已经学习了四篇关于J 查看详情

初识java集合及包装类和泛型的基本使用(代码片段)

文章目录一、介绍1.java集合框架是什么?2.学习java集合的意义3.java集合关系图二、接口使用实例1.Collection接口说明2.Collection示例3.Map接口说明4.Map实例三、泛型1.泛型的分类2.泛型的定义3.泛型背后作用时期和背后的简单原理4.... 查看详情

java初识java及java语言的特点(代码片段)

初识Java及Java语言的特点初识Java1、前言2、从零开始3、程序如何跑起来4、Java程序书写及注意问题Java语言的特点1、变量和类型1、1整形变量1、2long长整形1、3双精度浮点型变量1、4单精度浮点型变量1、5字符类型变量1、6字节类型... 查看详情

关于java(代码片段)

...初识Java2.Java的特性3.Java的基本表示,书写方法4.Java的学习1.初识JavaJava是一种优秀的程序设计语言,不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和... 查看详情

java-初识注解annotation(代码片段)

直接通过代码简单了解一下: 1packagecom.etc;23importjava.lang.annotation.ElementType;4importjava.lang.annotation.Retention;5importjava.lang.annotation.RetentionPolicy;6importjava.lang.annotation.Target;7import 查看详情

javase初识java语言(代码片段)

希望通过博客和大家相互交流,相互学习,如有错误,请评论区指正目录初识Java语言一、什么是Java编程环境什么是JRE编写工具Java为什么这么火二、第一个Java程序上代码注意关于main方法运行代码 JDK,JRE,JVM... 查看详情

初识java---我的第一个java程序(代码片段)

初识java---我的第一个java程序课程目录l 準備l 開発環境的準備l 環境変数Path設定l 第一个程序  目标« 实现自己的HelloWorld并运行看到结果 一、準備(1)计算机(パソコン)(2)计算机硬件:肉眼能看到的... 查看详情

初识java语言-类和对象(代码片段)

初识java语言(四)-类和对象文章目录初识java语言(四)-类和对象一、类与对象的概念1、类2、对象3、面向过程与面向对象的区别二、类的成员1、字段2、方法3、static关键字三、自定义类1、从构造方法开始2、用v... 查看详情

java6初识数组(代码片段)

...序猿的博客,本博客致力于知识分享,与更多的人进行学习交流目前,已开了以下专栏,欢迎关注与指导1️⃣Java基础知识系统学习(持续更文中…)2️⃣UML的应知应会(已更完)3️⃣MySQL的应知应会(持续更文中…)4️⃣还有更多文章... 查看详情

初识java语言-数组(代码片段)

...与浅拷贝的区别五、二维数组以及存储形式往期文章一、初识java数据类型以及运算符(力作)二、Java中方法的概念以及递归的讨论一、数组的概念数组是存储相同类型值的序列。数组是一种数据结构,用来存储同一... 查看详情

初识java语言-包和继承(代码片段)

...章:前言-IDEA如何配置?让你敲代码更轻松!初识Java语言(一)-基 查看详情

初识java以及一些常见的数据类型(代码片段)

初识Java以及一些常见的数据类型Java是什么为什么总有人说Java是最好的语言一个简单的main函数运行Java程序Java书写注意问题数据类型与运算符整型变量(重点)长整型变量双精度浮点型变量字符类型变量字节类型变量短... 查看详情

初识java语言(代码片段)

从今天起就要开始写java博客了,C语言我还会跟进,但进度可能会慢一点。接下来就让我们看是了解一下java吧首先介绍一下Java之父—詹姆斯.高斯林,下面这位就是啦!看发量就知道这一定是一位强者。Java名字的... 查看详情