01-Java基础及面向对象
JAVA基础知识
Java 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门面向 Internet 的高级编程语言。
Java 虚拟机(JVM:Java Virtual Machine)
JRE(Java Runtime Environment):Java 运行环境
(包括 JVM 和 Java 程序所需的核心类库等,给用户使用的)
JDK(Java Development Kit)Java开发工具包(包括JRE,给Java开发人员使用的)使用 set 设置临时环境变量
set Path=xxx
在写简单的 HelloWorld 程序的时候,可以使得 java 文件名与类名不一致,最后得到的字节码文件的文件名是和类名相同的;当包含 main 函数的类有 public 的时候,必须使得java文件名和类名一致,规定的。
注意区别 set classpath=c:\ 与 set classpath=c:; 的区别(分号的有无),不加分号只在当前目录找,加了分号先到当前目录找。所以以后不要加分号为好。
注意 path 和 classpath 查找先后的区别:
path是先到当前目录查找,没找到,再到path环境查找;
classpath 是先到 classpath 环境查找,没找到,再到当前目录查找(前提加了分号)文档说明书:对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc.exe 所解析,生成一套以网页文件形式体现的该程序的说明文档
配置 JAVA 开发环境
JAVA_HOME = D:\jdk1.8.0_144
PATH = .;%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA 环境安装验证
java -version
javac -version
第一个 JAVA 程序
public class Demo
{
public static void main(String[] args)
{
System.out.println("Hello Java!");
}
}
标识符
标识符的组成:数字,字母,下划线,美元符号
开头不能使用数字。
可以使用中文作为变量名(编辑代码的文本要为GBK格式,才能支持中文作为变量名)
JAVA中的名称规范
包名:多单词组成时所有字母都小写(xxxyyyzzz)
类名接口名:多单词组成时,所有的单词的首字母大写(XxxYyyZzz)
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写(xxxYyyZzz)
常量名:所有字母都大写,多单词时每个单词用下划线连接(XXX_YYY_ZZZ)
常量与变量
常量
- JAVA中可以通过 final 关键字定义常量。例如:final int i = 0;
数据类型
数据类型 = 基本数据类型 + 引用数据类型
基本数据类型 = 整数型(byte,short,int,long) + 浮点型(float,double) + 字符型(char) + 布尔型(boolean)
引用数据类型 = 类(class) + 接口(interface) + 数组([])
1、整数型
byte(-128 ~ 127)
short(-32768 ~ 32767)
int(-2147483648 ~ 2147483647)
Tips:
- JAVA 中没有无符号整数型变量
- 隐式类型转换(byte,short,char->int->long->float->double)
- byte,short,char之间不会相互转换,它们三者之间在计算时首先转换成int类型,然后进行计算。
- 容量大的数据类型转换成容量小的数据类型时,要加强制转换符,但是会造成精度降低或者溢出。
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种,然后再进行计算。
2、浮点型
- JAVA 中 float 型浮点数加上后缀 f 或 F。
- JAVA 中 double 型浮点数加上后缀 d 或 D。
- JAVA 浮点数的默认类型是 double。
- 将一个 float 类型的数,强制转换成 long 类型,会舍去小数部分,而不是四舍五入。
3、逻辑型和字符型
- JAVA中的逻辑型又叫布尔型,是一种只能表示 true 和 false 两种值的类型。
- JAVA中的字符型占用两个字节,能够表示 Unicode 字符(比如汉字)。
char c1 = 'c';
char c2 = '冯';
4、引用数据类型
- JAVA 中的引用数据类型类似 C 语言中的指针类型;
- JAVA 中的引用数据类型主要用于类 class 定义的复杂数据类型(不是基本的数据类型,在代码里面是不会高亮显示的,如String类型,是class定义的复杂数据类型。)
- JAVA 中引用数据类型变量和常量的定义方式与基本数据类型相同。
- 引用数据类型包括:类class,接口interface,数组。
运算符
1、算术运算符
- ++和-- 优先级最高
- 乘,/,% 优先级其次
- +和- 优先级最低
- 括号可以改变优先级
Tips:
1、如果对负数取模,可以把模数的负号忽略,如 5%-2=1,但是被模数是负数就另当别论。
2、对于除号"/",它的整数除和小数除是由区别的:整数之间做除法时,只保留整数部分而舍弃小数部分;小数之间做除法时(不论除数是小数还是被除数是小数)结果都是浮点类型。
3、"+"号除了字符串相加功能之外,还能把非字符串转化为字符串。(System.out.println("5+5="+5+5); "+"运算符两侧的操作数只要有一个是字符串String类型,系统会自动将另一个操作数转换成字符串然后在进行连接。)
2、逻辑运算符
- ! 运算优先级最高
- && 运算优先级其次
- || 运算优先级最低
- 括号可以改变优先级
3、关系运算符
- JAVA 中同类型的变量和常量都可以使用 == 和 != 来判断是否相等;
- JAVA 中关系运算符的结果是个布尔值,而不是C语言中的1或0;
- 关系运算符常和逻辑运算符一起使用。
4、位运算符
- 位运算符是对整数进行二进制操作的运算符,返回的结果也是一个整数;
- 位运算符有按位取反~,按位与&,按位或|和按位异或^;
- 移位运算符是左移<<,右移>>,无符号右移>>>.
5、条件运算符
- Java中的条件运算符根据条件来返回一个值
- x = (布尔表达式) ? (为true时所赋的值) : (为false时所赋的值);
- 例如:String s = (num < 2500)?("房贷没压力")
01-Java基础及面向对象的更多相关文章
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- Java基础-初识面向对象编程(Object-Oriented-Programming)
Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
- 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
随机推荐
- SpringCache与redis集成,优雅的缓存解决方案
缓存可以说是加速服务响应速度的一种非常有效并且简单的方式.在缓存领域,有很多知名的框架,如EhCache .Guava.HazelCast等.Redis作为key-value型数据库,由于他的这一特性 ...
- linux apt-cache使用方法
apt-cache是linux下的一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件.APT包管理的大多数信息查询功能都可以由apt-cache命令实现,通过apt-cache命令配合不同 ...
- canvas 从初级到XX 1# 部分非基础原生API的使用 [初级向]
标题canvas 从初级到XX,XX是因为本文随机都可能会太监,并不会支持到入土.请慎重的往下看. 对于canvas的介绍,随处都可以找到,也就不啰嗦太多了.就直奔主题了. 先看一段代码,以及实现的效 ...
- java学习笔记之字符流文件复制
字符文件复制 FileReader fr =new FileReader("b.txt");//绑定源文件 FileWriter fw= new FileWriter(" ...
- speedment 入门教程
speedment 是基于 Java8 的 orm 框架,相比较 hibernate 和 mybatis 你只要很少的代码就可以实现对数据库的操作,而且根据查询自动帮你优化SQL,开发者无需编写SQL ...
- 关于系统首页绘制问题(ext布局+c#后台加入数据)经html输出流输出响应client
关于系统首页绘制问题,业务需求 TODO 绘制系统首页(Main.aspx) 採用的技术:functioncharts+jquery+ext布局+c#+html 解说篇:1,服务端aspx,2,服务端 ...
- android 自己创建一个凝视模板
android 自己创建一个凝视模板 作为一名程序猿 不仅要有一个写代码的能力,养成一个良好的编写习惯也是非常重要的. 今天给大家具体介绍一下怎样创建凝视模板,给每一个类和方法都自己手动去凝视信息也 ...
- CoordinatorLayout与滚动的处理
本博文专门解说和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分. 概览 CoordinatorLayout实现了多种Materi ...
- Linux批量杀死包括某个keyword的进程
ps -ef|grep ./amplxe-gui|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包括keyword"./amplxe-gui" ...
- --------------Hibernate学习(四) 多对一映射 和 一对多映射
现实中有很多场景需要用到多对一或者一对多,比如上面这两个类图所展现出来的,一般情况下,一个部门会有多名员工,一名员工只在一个部门任职. 多对一关联映射 在上面的场景中,对于Employee来说,它跟D ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用