第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月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
69 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
3月前
|
Java Maven
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
该博客文章介绍了如何使用Java Swing中的JFrame创建一个窗体来收集用户输入的内容,并提供了详细的实现步骤和完整代码示例。
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
|
10天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
23 4
|
1月前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
42 3
|
1月前
|
移动开发 Java 大数据
深入探索Java语言的核心优势与现代应用实践
【10月更文挑战第10天】深入探索Java语言的核心优势与现代应用实践
50 4
|
1月前
|
存储 Java 数据安全/隐私保护
Java中的域,什么是域?计算机语言中的域是什么?(有代码实例)
文章解释了Java中域的概念,包括实例域、静态域、常量域和局部域,以及它们的特点和使用场景。
52 2
|
1月前
|
Java 数据安全/隐私保护 C++
Java语言关键字
Java语言关键字
22 2
|
1月前
|
分布式计算 安全 Java
Java语言的特点?
Java语言的特点?
|
2月前
|
安全 Java API
Java 18 概述:新特性一览
Java 18 作为 Java 平台的最新版本,引入了多项令人振奋的新特性和改进,包括模式匹配、记录类型、流库改进、外部函数与内存 API 以及并发处理增强。这些新功能不仅提升了开发者的生产力,还显著增强了 Java 的性能和安全性。本文将详细介绍 Java 18 的主要新特性,并通过代码示例帮助读者更好地理解和应用这些功能。
|
3月前
|
存储 Oracle Java
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
43 17