前言、入门程序、常量、变量

主要内容:

Java 语言的发展历史
Java 开发环境搭建
编写 HelloWorld程序
常量和变量

第一章 开发前言
1.1 Java 语言概述
什么是Java语言
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是
计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
Java语言发展历史
1995 年Sun公司发布Java1.0版本
1997 年发布Java 1.1版本
1998 年发布Java 1.2版本
2000 年发布Java 1.3版本
2002 年发布Java 1.4版本
2004 年发布Java 1.5版本
2006 年发布Java 1.6版本

2009 年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
2014 年发布Java 1.8版本
2017 年发布Java 9.0版本

Java语言能做什么

Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服
务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。

 

 

 1.2  计算机基础知识

二进制

计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含
0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
下面了解一下十进制和二进制数据之间的转换计算。

  • 十进制数据转成二进制数据: 使用除以2获取余数的方式

  •  二进制数据转成十进制数据: 使用8421编码的方式

 

小贴士:
二进制数系统中,每个0或1就是一个位,叫做bit(比特)。

字节

字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,
我们可以查看文件的字节大小。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。

  • 8 bit = 1 B
  • 1024 B =1 KB
  • 1024 KB =1 MB
  • 1024 MB =1 GB
  • 1024 GB = 1 TB

常用DOS命令

ava语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取
代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。

  • 进入 DOS操作窗口
    • 按下 Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口

 

  • 打开 DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。

 

 常用命令

 

命令 操作符号
盘符切换命令   盘符名:
查看当前文件夹  dir
进入文件夹命令  cd  文件夹名
退出文件夹命令  cd..
退出到磁盘根目录  cd\
清屏  cls

 

第二章 Java语言开发环境搭建

2.1 Java 虚拟机——JVM

  • JVM (Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
  • 跨平台 :任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

 如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

2.2 JRE  和 JDK

  • JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
  • JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。我们想要运行一个已有的Java程序,那么只需安装 JRE 即可我们想要开发一个全新的Java程序,那么必须安装 JDK 。

小贴士:
三者关系: JDK > JRE > JVM

2.3 JDK9 安装图解

 

 

 

 

小贴士:
安装路径中,不要包含中文和空格。

2.4 JAVA_HOME 环境变量的配置

配置环境变量作用

开发Java程序,需要使用JDK中提供的工具,工具在JDK9安装目录的 bin 目录下。

 在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。

 不进入JDK的 bin 目录,这些工具就不能使用,会报错。

为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。

配置环境变量步骤

1. 文件资源管理器 --> 此电脑鼠标右键 --> 选择 属性

 2. 选择 高级系统设置 --> 选择 环境变量

3. 点击下方系统变量的 新建 ,创建新的环境变量,变量名输入 JAVA_HOME ,变量值输入JDK9的安装目录
D:\02_DevelopTools\Java\jdk -9.0.1

 4. 选中 Path 环境变量, 双击 或者 点击编辑

 5. 点击 新建 ,键入 %JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。

 6. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令。

 第三章 HelloWorld入门程序

3.1  程序开发步骤说明

开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。

 3.2  编写Java源程序

1. 在 d:\day01 目录下新建文本文件,完整的文件名修改为 HelloWorld.java ,其中文件名为 HelloWorld ,后
缀名必须为 .java 。
2. 用记事本打开
使用notepad++记事本软件。
3. 在文件中键入文本并保存,代码如下:

public class HelloWorld {
   public static void main(String[] args) {  
     System.out.println("Hello World!");    
   }  
}

文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我
们必须将编写好的 Java 源文件 编译成JVM可以看懂的 字节码文件 。

3.3  编译Java源文件

在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。
命令:

javac Java源文件名.后缀名

举例:

javac HelloWorld.java

编译成功后,命令行没有任何提示。打开 d:\day01 目录,发现产生了一个新的文件 HelloWorld.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

Java源文件的编译工具 javac.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。

 3.4  运行Java程序

在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。
命令:

java 类名字

举例:

java HelloWorld

java HelloWord  不要写 不要写 不要写 .class

 Java程序 .class 文件 的运行工具 java.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。

3.5  入门程序说明

编译和运行是两回事

  • 编译 :是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
  • 运行 :是指将 class 文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

关于main方法

  • main 方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。

3.6 添加注释comment

  • 注释 :就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。

 

  • Java 中有单行注释和多行注释
    • 单行注释以 // 开头 换行结束
    • 多行注释以 /* 开头  以*/结束

3.7 关键字keywords

  • 关键字 :是指在程序中,Java已经定义好的单词,具有特殊含义。
    • HelloWorld 案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被Java定义好,全部都是小写字母,notepad++中颜色特殊。
    • 关键字比较多,不能死记硬背,学到哪里记到哪里即可。

3.8 标识符

  • 标识符 :是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
    • HelloWorld 案例中,出现的标识符有类名字 HelloWorld 。
  • 命名规则: 硬性要求
    • 标识符可以包含 英文字母 26个(区分大小写) 、 0 -9数字 、 $ (美元符号) 和 _ (下划线) 。
    • 标识符不能以数字开头。
    • 标识符不能是关键字。
  • 命名规范: 软性建议
    • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
    • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
    • 变量名规范:全部小写。

第四章 常量

4.1 概述
常量:是指在Java程序中固定不变的数据。
4.2 分类

类型  含义  数据举例
整数常量  所有的整数  0,1, 567, -9
小数常量  所有的小数  0.0, -0.1, 2.55
字符常量  单引号引起来,只能写一个字符,必须有内容  'a' , ' ', '好'

 

字符串常量 

双引号引起来,可以写多个字符,也可以不写  "A" ,"Hello" ,"你好" ,""
布尔常量  只有两个值(流程控制中讲解)  true , false
空常量  只有一个值(引用数据类型中讲解)  null

 

4.3  练习

需求:输出各种类型的常量。

 public class ConstantDemo {
public static void main(String[] args){    
        //输出整数常量
        System.out.println(123);
        //输出小数常量
        System.out.println(0.125);
        //输出字符常量
        System.out.println('A');
        //输出布尔常量
        System.out.println(true);
        //输出字符串常量
        System.out.println("你好Java");
   }

第五章 变量和数据类型

5.1 变量概述
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可
以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
5.2 数据类型
数据类型分类
Java的数据类型分为两大类:

  • 基本数据类型 :包括 整数 、 浮点数 、 字符 、 布尔 。
  • 引用数据类型 :包括 类 、 数组 、 接口 。

基本数据类型
四类八种基本数据类型:

 

数据类型  关键字  内存占用  取值范围
字节型  byte  1个字节  -128~127
短整型  short 2个字节 -32768~32767
整型  int(默认) 4个字节  -2的31次方~2的31次方-1
长整型  long  8个字节 -2的63次方~2的63次方-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

Java中的默认类型:整数类型是 int 、浮点类型是 double 。

5.3  变量的定义

变量定义的格式包括三个要素: 数据类型 、  变量名 、  数据值 。

格式

数据类型 变量名 = 数据值;

练习

定义所有基本数据类型的变量,代码如下:

public class Variable {
public static void main(String[] args){    
        //定义字节型变量
        byte b = 100;
        System.out.println(b);
        //定义短整型变量
        short s = 1000;
        System.out.println(s);
        //定义整型变量
        int i = 123456;
        System.out.println(i);
        //定义长整型变量
        long l = 12345678900L;
        System.out.println(l);
        //定义单精度浮点型变量
        float f = 5.5F;
        System.out.println(f);
        //定义双精度浮点型变量
        double d = 8.5;
        System.out.println(d);
        //定义布尔型变量
        boolean bool = false;
        System.out.println(bool);
        //定义字符型变量
        char c = 'A';
        System.out.println(c);
}    
}

long类型:建议数据后加L表示。
float类型:建议数据后加F表示。

5.4  注意事项

  • 变量名称:在同一个大括号范围内,变量的名字不可以相同。
  • 变量赋值:定义的变量,不赋值不能使用。

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/Polar-sunshine/p/13358433.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jinfo 命令可以用来查看 Java 进程运行的 JVM 参数,命令如下:[root@admin ~]# jinfo --helpUsage: jinfo [option] <pid> (to connect to running process) jinfo [option] <executable <core> (to connect to a core file) jinfo [option] [serve
原文链接:https://www.cnblogs.com/niejunlei/p/5987611.htmlJava Virtual Machine Stacks,线程私有,生命周期与线程相同,描述的是Java方法执行的内存模型:每一个方法执行的同时都会创建一个栈帧(Stack Frame),由于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法的执行就对应着栈帧在虚拟机栈中的入栈,出栈...
java 语言, 开发者不能直接控制程序运行内存, 对象的创建都是由类加载器一步步解析, 执行与生成与内存区域中的; 并且jvm有自己的垃圾回收器对内存区域管理, 回收; 但是我们已经可以通过一些工具来在程序运行时查看对应的jvm内存使用情况, 帮助更好的分析与优化我们的代码;jps查看系统中有哪些java进程jps 命令类似与 linux 的 ps 命令,但是它只列出系统中所有的 Java 应用程序。 通过 jps 命令可以方便地查看 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息
1.jvm的简单抽象模型:  2.类加载机制     双亲委派模型是为了防止jdk核心类库被篡改,如果需要打破可以重写Classloader.loadClass方法。r 双亲委派模型:一个类加载器收到一个类的加载请求,他会先判断自身是否已存在该类,如果不存在上抛给上一级类加载器ClassLoad
堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代码中还可以使用堆外内存,比如Netty,广泛使用了堆外内存,但是这部分的内存并不归JVM管理,GC算法并不会对它们进行回收,所以在使用堆外内存时,要格外小心,防止内存一直得不到释放,造成线上故障。堆外内存的申请和释放JDK的ByteBuffe
1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?3.springmvc启动时组件的加载顺序?4.mybatis如何同时更新三条记录5.hibernate实现级联更新6.一个web程序应用程序启动时的加载流程7.如何向www.baidu.com地址发出请求时,并获取相应?8.???9.谈谈你对tcp/iptelnetudp协
堆设置-Xms256M:初始堆大小256M,默认为物理内存的1/64-Xmx1024M:最大堆大小1024M,默认为物理内存的1/4,等于与-XX:MaxHeapSize=64M-Xmn64M:年轻代大小为64M(JDK1.4后支持),相当于同时设置NewSize和MaxNewSize为64M-XX:NewSize=64M:初始年轻代大小-XX:MaxNewSize=256M:最大年轻代大小(默认
一.概述收集算法(JVM之垃圾回收-垃圾收集算法)是内存回收的抽象策略,垃圾收集器就是内存回收的具体实现。JVM规范对于垃圾收集器的应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器差别较大,这里只看HotSpot虚拟机。就像没有最好的算法一样,垃圾收集器
Java中的堆是JVM所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示: 在Java中,堆被划分成两个不同的区域:新生代(Young)、老年代(Old)。新生代(Young)又被划分为三个区域:Eden、S0、S1。 这样划分的目的是为了使JVM能够更好的管理堆内存中的对象,包
JVM深入理解JVM(4)——如何优化JavaGC「译」 PostedbyCrowonAugust21,2017本文翻译自SangminLee发表在Cubrid上的”BecomeaJavaGCExpert”系列文章的第三篇《HowtoTuneJavaGarbageCollection》,本文的作者是韩国人,写在JDK1.8发布之前,虽然有些地
 JVM深入理解JVM(2)——GC算法与内存分配策略 PostedbyCrowonAugust10,2017说起垃圾收集(GarbageCollection,GC),想必大家都不陌生,它是JVM实现里非常重要的一环,JVM成熟的内存动态分配与回收技术使Java(当然还有其他运行在JVM上的语言,如Scala等)程序员在提升开
运行时数据区  线程独有本地方法栈、虚拟机栈、程序计数器这些与线程对应的数据区会随着线程开始和结束创建和销毁  整体公有元数据区(又称方法区)、堆区会随着虚拟机启动而创建,随着虚拟机退出而销毁 
java整个堆大小设置:Xmx和Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍。永久代PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍年轻代Xmx的设置为老年代存活对象的1-1.5倍老年代的内存大小设置为老年代存活对象的2-3倍BTW: Sun官方建议年轻代
栈顶缓存(Top-of-StackCashing)技术基于栈式架构得虚拟机所使用的零地址指令更加紧凑,但完成一项操作的时候必然使用更多的入栈和出栈指令,这同时也就意味着将需要更多的指令分派次数和内存读写次数 由于操作数是存储在内存重的,因此频繁地执行内存读/写操作必然影响速度。 综上
自用。同样的代码在不同的平台生成的机器码是不一样的,为什么java代码生成的字节码文件,能在不同的平台运行?因为不同版本的jdk里面的虚拟机会屏蔽不同操作系统在底层硬件与指令上的区别。栈:线程栈,局部变量存放栈内存区域。线程(分配一个栈)运行分配栈将局部变量放入内存。怎么放:栈
jconsole监控:1.java启动命令加上参数java-Djava.rmi.server.hostname=172.16.17.247-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=2099-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false -XX:+Unlock
类加载器分类publicclassStackStruTest{publicstaticvoidmain(String[]args){//对用户自定义个类来说:默认使用系统类加载器进行加载-----AppClassLoaderClassLoaderclassLoader=StackStruTest.class.getClassLoader();System.out.p
堆体系结构一个JVM实例只存在一个堆内存,堆内存的大小是可调节的。类加载器读取类文件后,需要把类、方法、常量、变量放在堆内存中,保存所有引用类型的真实信息,以方便执行器指向,堆内存分为三个部分:年轻代、老年代、永久代。Java7之前,堆内存在逻辑上分为:年轻代、老年代、永久代。物
JVM深入理解JVM(5)——虚拟机类加载机制 PostedbyCrowonAugust21,2017在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机中,而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚拟机中会发生什么变化?本文将逐步解答这
保存(持久化)对象及其状态到内存或者磁盘Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在