文章目录
- 1、Java概述
- 何为编程
- 什么是Java
- JVM、JRE和JDK的关系
- JVM
- JRE
- JDK
- 2、Java定义规则
- 关键字
- 标识符
- 注意事项
- 标识符中常见的命名规则
- 注释
- 3、Java基础数据类型
- 定义变量
- 数据类型转换
- 自动类型转换:
- 强制类型转换:
- 4、运算符
- 算数运算符
- 赋值运算符
- 注意:
- 关系运算符
- 逻辑运算符
- 注意:
- 三元运算符
- 三元转为if-else
1、Java概述
何为编程
编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。
什么是Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
JVM、JRE和JDK的关系
JVM
Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。
JRE
Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK
Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等
三者关系
JVM<JRE<JDK
2、Java定义规则
关键字
是被Java语言赋予特殊含义,具有专门用途的单词,比如class,int,double均为Java已经预设好的;
组成关键字的字母全部小写 ,注意String不是关键字;
goto与const是Java中的保留字,即没有赋予特殊含义却仍被Java占用的单词;
关键字我们不能定义
标识符
就是给类,接口,方法,变量等起名字时使用的字符序列,组成规则只能包含下面的内容,不能有其它内容:
- 英文大小写字母
- 数字字符
- $和_
注意事项
- 数字不能开头
- 不可以使用关键字
- 严格区分大小写,不限制长度
- 起名时,尽量见名知意
标识符中常见的命名规则
- 包名:多单词组成时所有字母均小写,使用.连接.比如:aaa.bbb.ccc
- 类名&接口名:大驼峰式。比如:AaaBbbCcc
- 变量名&方法名:小驼峰式。比如:aaaBbbCcc
- 常量名:多单词组成是所有字母均大写,使用_连接。比如:AAA_BBB_CCC
注释
单行
// 要注释的内容
多行
/* 要注释的内容 */
文档注释
/**要注释的内容 */
在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。
注意事项:多行和文档注释都不能嵌套使用。
3、Java基础数据类型
定义变量
数据类型 变量名 = 数据值
int a = 100;
//变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
数据类型转换
不同类型的变量可以在一起运算,但要先进行类型转换再运算。
- 范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
- 范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)
数据范围从小到大依次列出:byte -> short -> int -> long -> float -> double
两种方式的数据类型转换
自动类型转换:
表示范围小的数据类型转换成范围大的数据类型。格式:
范围大的数据类型 变量 = 范围小的数据类型值;
比如:double d = 1000;
强制类型转换:
表示范围大的数据类型转换成范围小的数据类型
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
比如:int i = (int)6.718; //i的值为6
4、运算符
算数运算符
加号( +)、减号和负号( -)、乘号( *)、除号( /)、取模(%)、自增(++)、自减(–)以及等号( =)
用法与其他所有编程语言都是类似的 。
++,–运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1。
先用后加
++,–运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
先加后用
赋值运算符
赋值(=)、加后赋值(+=)、减后赋值(-=)、乘后赋值(*=)、整除后赋值(/=)取模后赋值(%=)的用法与其他所有编程语言都是类似的 。
注意:
使用 赋值运算符 会发生 强制类型转换
关系运算符
等于(==) 不等于(!=) 小于(<) 大于(>) 小于等于(<=) 大于等于(>=)
用法与其他所有编程语言都是类似的 。
逻辑运算符
与(&&)、或(||)、非(!)的用法与其他所有编程语言都是类似的 。
注意:
短路:当使用与或者或时,只要能判断出结果则后边的部分就不再判断。
单个也能使用,但是&和|却不不会短路,它们总是要计算两个操作数。
三元运算符
(条件表达式)?表达式1:表达式2;
int n = (3>2 && 4>6) ? 100 : 200;
//逻辑运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n,多个三元从向右解析
// 例如:
blockmarginTop = (navigator.userAgent.indexOf("Safari") >= 0) ? (sheight - cheight <= 0) ? 222 : sheight - cheight + 200 : document.documentElement.scrollTop + 200;
三元转为if-else
if (navigator.userAgent.indexOf("Safari") >= 0) {
if (sheight - cheight <= 0){
blockmarginTop = 222;
} else {
blockmarginTop = sheight - cheight + 200;
}
} else {
blockmarginTop = document.documentElement.scrollTop + 200;
}