第1章 java语言概述

简介: Java开发环境的配置、基本的语法结构。

1.0 计算机基础

1.0.1 基本知识

  1. 现代计算机基础:冯诺依曼体系结构
  2. IT定律(硬件):
  • 摩尔定律:18-24个月,计算机性能提升一倍。
  • 反摩尔定律:如果现在和18个月前卖掉同样多的同样的产品,营业也就会下降一半。
  • 安迪-比尔定律:硬件性能的提高,很快会被软件消耗掉。
  1. DOS命令:
  • md:创建文件夹
  • rd:删除文件夹
  • del:删除文件
  • cd:切换路径
  • dir:查看当前路径下的文件和文件夹
  • cd:切换路径
  • cd \:切换到根路径。
  • tree:指定目录下的所有文件(显示文件树)
  • cls:清屏
  • exit:退出dos
  1. 编码:
  • ASCII:一个字节表示一个字符,共128个。
  • Unicode:两个字节表示一个字符,字母和汉字都用2个字符表示,存在浪费空间问题。兼容ASCII编码
  • UTF-8:大小可变编码,字母用一个字节,汉字用3个字节
  • gbk:字母用1个字节,汉字用2个字节。
  • gb2312:同gbk,表示范围小于gbk
  • big5:繁体中文

1.0.2 整数的四种表示方式

  1. 二进制:0和1,以0b或0B开头。
  2. 八进制:0-7,以0开头。
  3. 十进制:0-9。
  4. 十六进制:0-9以及A-F(a-f),以0x或0X开头。

1.0.3 进制转换

  1. 其他进制转十进制:
  • 二进制转十进制:每个位上的数 * 2^indx的和,index从右向左依次为0至n。
  • 八进制转十进制:每个位上的数 * 8^indx的和,index从右向左依次为0至n。
  • 十六进制转十进制:每个位上的数 * 16^indx的和,index从右向左依次为0至n。
  1. 十进制转其他进制:
  • 十进制转二进制:该数不断除2,直到商为0,将余数倒序拼接。
  • 十进制转八进制:该数不断除8,直到商为0,将余数倒序拼接。
  • 十进制转十六进制:该数不断除16,直到商为0,将余数倒序拼接。
  1. 二进制转其他进制:
  • 二进制转八进制:从右向左,3个数一组,对应的十进制数组合后即为八进制。
  • 二进制转十六进制:从右向左,4个数一组,对应的十进制数组合后即为十六进制。
  1. 其他进制转二进制:
  • 八进制转二进制:将八进制的每一个数,转成对应的3位数二进制即可。
  • 十六进制转二进制:将十六进制的每一个数,转成对应的4位数二进制即可。

1.1 java简介

1.1.1 Java的常见概念及关系

  1. java SE、Java EE、Java ME的关系
  1. JDK和JRE:
  • JDK: Java Development Kit,把Java源码编译成Java字节码。
  • JDK=JRE+Java开发工具
  • JRE: Java Runtime Environment,运行Java字节码的虚拟机。
  • JRE=JVM+核心类库
  1. JSR和JCP:
  • JSR规范:Java Specification Request
  • JCP组织:Java Community Process,负责JSR。
  1. JDK的可执行文件:
  • java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;
  • javac:这是Java的编译器,它用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
  • jar:用于把一组.class文件打包成一个.jar文件,便于发布;
  • javadoc:用于从Java源码中自动提取注释并生成文档;
  • jdb:Java调试器,用于开发阶段的运行调试。
  1. Java的特点:
  • 面向对象(oop)
  • 健壮性:强类型机制、异常处理、垃圾自动收集等。
  • 跨平台的。
  • 解释性的:
  • 解释性语言编译后不能直接被机器运行,需要解释器执行。
  • 编译性语言编译后的代码可以直接被机器执行,如C,C++

1.1.2 下载JDK程序

  1. 由于发展原因:推荐下载jdk8U201版本(最后一稳定版本、长期支持版本)https://repo.huaweicloud.com/java/jdk/8u201-b09/
  • 安装jdk8时,已经带了jre,但安装程序最后还会额外安装jre8,为了避免开发工具配置出错(如Eclipse),建议安装。
  1. 本机的安装参考:

1.1.3 JDK环境变量配置

  1. 虽然安装java时,环境变量Path下已经有默认配置,能够在任何位置的cmd终端执行java命令。
  1. 但依赖JDK环境变量的其他程序配置仍然需要重新配置JAVA_HOME,如Tomcat,不配置会出现执行Tomcat的开启命令会出现一闪而过的情况,Tomcat也不会运行起来。
  2. 配置参数:
  • JAVA_HOME
  • CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  • Path%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1.1.4 java命令基本使用

  1. 运行Java程序:
  • javac 文件名.java编译代码,生成文件名.class字节码文件。
  • java 文件名自动查找对应的文件.class文件并执行。
  • java11后,java 文件名.java可以直接运行一个单文件源码,但多数情况下,无法直接这样操作,因为文件名.java文件需要依赖其他库。

1.2 Java程序基础

1.2.1 Java程序基本结构

  1. Java编程的特点:
  • Java源码的缩进不是必须的。
  • Java代码保存为文件时,文件名和main方法外部的类名要完全一致。
  • 一个源文件最多只能有一个public类,其他类的个数不限。
  • 也可以没有public类。
  • 编译后每一个类都对应生成一个.class文件。
  • 每个类都可以有main方法,且都可以被执行。
  • 被执行的前提是同文件内有一个public类。
  • 执行方式是java 类名
  • main方法必须按java程序规定的入口语法编写,即public static void main(String[] args)
  • 类名必须以英文字母开头(习惯首字母大写),后接字母、数字、下划线的组合。
  • public static void main(String[] args)规定的java程序入口
  • main方法名必须以英文字母开头(习惯首字母小写),后接字母、数字、下划线。
  • Java的每一行语句必须以分号结束。
  1. java注释
  • 单行注释://
  • 多行注释:
  • 多行注释不能嵌套多行注释。
/*xxxx*/
  • 文档注释:注释内容可以被JDK提供的javadoc所解析,生成一套以网页文件形式体现在该程序
/** xxx*/
  • 拓展:javadoc命令。
  1. 转义字符
  • \t:一个制表符,实现对齐功能。
  • \n:换行符
  • \\:\
  • \r:回车(光标移至本行前面)
  • 霜冷长河\r寒冬--------->输出后寒冬长河
  1. Java代码规范:
  • 类、方法的注释,要以javadoc的方式书写。
  • 非javadoc的注释,写给代码维护者看,为什么这样写、如何修改、注意什么问题。
  • 使用tab缩进。
  • 运算符“+-*/=”两边各使用一个空格增加代码的可读性。
  • 源文件使用UTF-8编码。
  • 每行字符不要超过80字符。
  • 代码编写行尾风格(起始大括号在同一行)或次行风格(起始大括号在下一行)

1.1.2 标识符规范

  1. 包名:多单词组成时全部写成小写。
  2. 文件名、类名、接口名:使用大驼峰形式。
  3. 变量名、方法名:小驼峰。
  4. 常量名:所有字母都大写,多个单词用下划线连接。

1.1.3 键盘输入语句

  1. 使用步骤:
  • 导入Scanner所在的包:import java.util.Scanner;
  • 创建Scanner实例对象:Scanner myScanner = new Scanner(System.in);
  • 使用myScanner的实例对象方法:
  • 接收字符串:String str = myScanner.next();
  • 接收整数:int num = myScanner.nextInt();
  • 接收浮点数:double sth = myScanner.netDouble();
  • 接收字符:char charNum = myScanner.next().charAt(0);
目录
相关文章
|
1月前
|
Oracle 安全 Java
Java语言简介及发展
Java语言简介及发展
|
11天前
|
存储 Oracle Java
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
29 17
|
10天前
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
38 8
|
10天前
|
Java 数据安全/隐私保护
09 Java面向对象三大特征(概述)
09 Java面向对象三大特征(概述)
29 4
|
21天前
|
算法 Java
Java语言实现最短路径算法(Shortest Path)
Java语言实现最短路径算法(Shortest Path)
34 3
|
1月前
|
算法 Java 编译器
透视Java语言的究极优化:探索性能的深度
在Java程序员的日常工作中,优化代码性能是一项至关重要的任务。然而,除了传统的性能调优方法外,本文将探讨一些更为深奥的技术,如JIT编译器的内部工作机制、GC算法的进阶应用以及多线程并发模型的优化策略。通过深入了解这些技术背后的原理和实现,我们可以更好地理解如何在Java平台上实现最高效的代码运行。 【7月更文挑战第11天】
49 4
|
2月前
|
设计模式 算法 Java
Java设计模式:核心概述(一)
Java设计模式:核心概述(一)
|
2月前
|
算法 Java
垃圾回收机制(Garbage Collection,GC)是Java语言的一个重要特性,它自动管理程序运行过程中不再使用的内存空间。
【6月更文挑战第24天】Java的GC自动回收不再使用的内存,关注堆中的对象。通过标记-清除、复制、压缩和分代等算法识别无用对象。GC分为Minor、Major和Full类型,针对年轻代、老年代或整个堆进行回收。性能优化涉及算法选择和参数调整。
36 3
|
1月前
|
Java 大数据 API
Java语言的核心知识点与特性
Java 是一种广泛使用的编程语言,自 1995 年发布以来,它已经成为了企业级应用开发、移动应用开发、大数据处理和云计算等领域的主流技术。
28 0
|
1月前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐