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 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
随机推荐
- Java开发小技巧(一)
前言 相信许多程序员在看别人写的代码的时候,会有怀疑人生的感想,面对一堆天书一样的代码,很难摸清作者的思路,最后选择了重构,如果你认同上面这个作法,说明了两个问题:要么原来的开发者技术菜.要么你技术菜 ...
- OpenXml读取word内容(三)
内容和表格内容一起读: word内容: 代码: public static void ReadWordByOpenXml(string path) { using (WordprocessingDoc ...
- Python_02笔记
数据类型 引子 什么是数据?x=10, 10 是我们要存储的数据 为啥数据要分不同的类型数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 数据类型数字(整形,长整型,浮点型,复数)字符串 ...
- BZOJ 1032 JSOI2007 祖码Zuma 动态规划
题目大意:给定一个祖玛序列,任选颜色射♂出珠子,问最少射♂出多少珠子 输入法近期越来越奇怪了0.0 首先我们把连续同样的珠子都缩在一起 令f[i][j]表示从i開始的j个珠子的最小消除次数 初值 f[ ...
- Ant 给project打包
写了一段主要的war打包.编译文件复制的 ant 配置文件 xml <?xml version="1.0" encoding="utf-8"? > ...
- spring MVC上传附件
spring mvc为我们封装了十分简单的上传附件的方法,以下通过一个例子学习. 1.jsp <%@ page language="java" contentType=&qu ...
- Spring MVC如何测试Controller(使用springmvc mock测试)
在springmvc中一般的测试用例都是测试service层,今天我来演示下如何使用springmvc mock直接测试controller层代码. 1.什么是mock测试? mock测试就是在测试过 ...
- 「mysql优化专题」你们要的多表查询优化来啦!请查收(4)
一.多表查询连接的选择: 相信这内连接,左连接什么的大家都比较熟悉了,当然还有左外连接什么的,基本用不上我就不贴出来了.这图只是让大家回忆一下,各种连接查询. 然后要告诉大家的是,需要根据查询的情况, ...
- Intellij 如何在新窗口中打开项目
好多程序员都使用intelliJ idea开发项目,由于不小心设置了不在提示打开项目项目方式,所以只能打开一个窗口,而且只能同时打开一个项目,特别郁闷,分享下设置后的效果 工具/原料 Intell ...
- Structured Streaming从Kafka 0.8中读取数据的问题
众所周知,Structured Streaming默认支持Kafka 0.10,没有提供针对Kafka 0.8的Connector,但这对高手来说不是事儿,于是有个Hortonworks的邵大牛(前段 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用