关键词:
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编写代码的步骤
- 编写源代码:创建.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 等等。
标识符
程序中自定义的名称,比如类名、方法名、变量名等,都是标识符。
命名规则
-
标识符包含26个**
英文字母
(区分大小写)、0-9数字
、$
、_
**。 -
标识符不能以数字开头。
-
标识符不能是关键字。
命名规范
-
类名:首字母大写,后面每个单词首字母大写,大驼峰命名法。
-
变量名、方法名:首字母小写,后面每个单词首字母大写,小驼峰命名法。
数据类型
Java中的数据类型分为基本(内置)数据类型和引用数据类型。
基本数据类型
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int | 4个字节 | -231~231-1 |
长整型 | long | 8个字节 | -263~263-1 |
单精度浮点型 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点性 | double | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0~65535 |
布尔型 | boolean | 1个字节 | true / false |
注意事项:
- 字符串不是基本类型,而是引用类型
- 浮点型可能只是一个近视值,并非精确的值。
- 数据范围与字节数不一定相关,例入
float
数据范围比long
更加广泛,但是float
是4个字节,long
是8个字节。 - 浮点数默认是
double
类型,如果使用float
类型,加后缀F。 - 整数默认是int类型,如果使用long,加后缀L。
- Java中没有无符号数。
引用数据类型
字符串、数组、类、接口、lambda
数据类型转换
java程序中要求参与计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
数据类型不一样时会发生数据类型转换。
自动类型转换(隐式转换)
- 特点:代码不需要进行特殊处理,自动完成。
- 规则:数据范围从小到大,与字节数不一样相关。
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);
强制类型转换(显式转换)
- 代码需要进行特殊的格式处理,不能自动完成。
- 格式: 范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
public class Demo02DataType
public static void main(String[] args)
// smaller type varName = (smaller type)value;
int num = (int)100L;
System.out.println(num);
注意事项:
-
强制类型转换一般不推荐使用,可能发生精度损失、数据溢出。
赋予的值的大小超过了变量的类型存储空间就会发生数据溢出
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);
btye
/short
/char
都可参与数字运算。
public class Demo02DataType
public static void main(String[] args)
char ch = 'A';
System.out.println(ch + 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);
- 布尔型不能发生任何数据类型转换!
初识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名字的... 查看详情