Java基础之入门
-
我的第一个java程序
注意: 笔者建议学者先从用编辑器写,一开始不建议用开发集 成工具
常用的IDE(集成开发环境):eclipse myeclipse在noteoad++记事本写第一个HelloWord.java
public class HelloWord{ public static void main(String[] args){ System.out.println("HelloWord!!!"); } }
提醒:此时编译的源文件,计算机不可以直接运行,这就需要javac编译源文件,编译时需要找到源文件的位置,然后输入
javac Hello.java 将源文件编译成字节码文件HelloWord.class
这样计算机才可以用jvm虚拟机运行字节码文件运行为我们普通人可以看到的结果。
步骤如下图:
1:打开dos窗口(上篇提到打开方式)
2:找到目标文件输入cd C:\Users\john\Desktop(这是源文件位置,cd与C:\Users\john\Desktop之间有空格)
3:输入javac HelloWord.java 结果如下
这时会自动生成HelloWord.class字节码文件
4: 输入java HelloWord 结果如下
1. **JDK的其他命令**
*j*dk中除了常用的javac java外还有一些命令需要掌握,如:javap 、javadoc、jar、javah**
1:javap
用于反编译,也可以查看编译器生成的字节码,是分析字节码的好工具
把HelloWord字节码文件中的所有成员拆分进HelloWord.tex文件中。HelloWord.tex文件如下
2:javadoc
输入javadoc -d doc Helloword.java 生成如下结果
3)jar:可以把多个类打包到一个jar文件中,有点类似压缩文件,当然在java中叫归档命令;以下的命令将前面的编译的类归档到hw.jar文件中,同时列出打包时的清单:
(-c :创建 、-v:打包文件列表、 -f:生成文件、-u:更新)
4)javah:用于生成c、c++需要的头文件信息;如果在java中定义好了一个native方法,但是不能又java实现,而是由c、c++实现,java仅仅是调用,这时就慧使用到javah命令了;
- Java 基础语法
-
面向对象的术语
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定
2. 基本语法
*编写Java程序时,应注意以下几点:* 1)大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。 2)类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。 3)方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。 4)源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。 5)主方法入口:所有的Java 程序由public static void main(String args[])方法开始执行。
3. Java标识符
*Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。* 关于Java标识符,有以下几点需要注意: 1. 标识符的组成元素是由字母(a-zA-Z)、数字(0-9) 、下划线(_)、美元符号($). 2. 标识符不能以数字开头。 3. 标识符是严格区分大小写的。 4. 标识符的长度是没有长度限制的。 5. 标识符的命名一般要有意义(要做到让人见名知意) 6. 关键字、保留字不能用于自定义的标识符。 自定义标识符的规范: 1. 类名和接口名单词的首字母大写,其他单词小写。比如: RunTime. 2. 变量名与方法名首单词全部小写,其他单词首字母大写,其他小写。比如: doCook(); 3. 包名全部单词小写。 4. 常量全部单词大写,单词与单词之间使用下划线分隔。比如: UP_DIRECTION 合法标识符举例:age、$salary、_value、__1_value 非法标识符举例:123abc、-salary
4. Java关键字
关键字:关键字就是在java程序中具备特殊含义的标识符。关键字一般用于描述一个程序的结构或者表示数据类型。
常用的关键字:static 、void、 this、 super、 return………
可以去w3c去查看:(http://www.w3school.com.cn/)5. Java注释
类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。
**注释的类别**: 第一种: 单行注释。 // 注释的内容 第二种: 多行注释。 /* 注释的内容 */ 第三种: 文档注释. /** 注释的内容 */
(文档注释也是一个多行注释。)
注释要注意的细节:
1. 单行注释可以嵌套使用,多行注意是不能嵌套使用的。注释的作用: 1. 使用文字对程序说明。 2. 调试程序。
6. Java基本数据类型
常用的有:基本数据类型、引用数据类型
1) 基本数据类型: 数值型、字符型、布尔型
数值型 :整数类型、浮点类型
整数类型:byte(1个字节)、 short(2个字节)、int(4个字节)、long(8个数据类型)
浮点类型:float(4个字节)、double(8个字节)
字符型:char 字符常量就是单个字符使用单引号引起来的内容我们称作为字符常量。
布尔类型:boolean 布尔常量只有两个值: true(正确). false(错误)
2)引用数据类型
类:class
接口:interface
数组
7. Java进制
整数常量的表现形式:整数的表现形式主要是以不同的进制(二进制、八进制、十六进制)表现出来。进制: 十进制(0~9) 、 星期(七进制 0~6)、 小时(12进制(0-11)、 24进制(0~23))
进制:用有限的数字符号代表所有的数值。
计算机的出现是为了服务于人类的,那么人类在现实生活中使用的数据基本上都是十进制的数据,那么计算机是否有可以存储现实生活中的数据呢?如果可以存储,又以哪种形式存储呢?
二进制由来。
电脑记录我们现实生活中的数据都是使用二进制进行记录的,那么我们
就要懂得如何把十进制数据转换成二进制。十进制与二进制之间的转换: 十进制转二进制的方法:使用十进制的数据不断除以2,直到商为0为止。从下往上取余数就是 对应的二进制。 10(十进制)-------->1010(二进制) 二进制转十进制:使用二进制的每一位乘以2的n次方,n从0开始,每次递增1,然后把各部分的数据 相加即可。 1110(二进制) ---------> 14(十进制) 二进制的弊端: 二进制的书写太长了,不方便人类记忆。 二进制的数据特点: 由0~1组成。 解决方案:每三个二进制位就就记录一个数字。 1000(十进制)------> 001,111,101,000(二进制) = 1,7,5,0
一个八进制的数据就是相当于三个二进制位。
十进制与八进制之间的转换:
十进制转八进制:使用十进制的数据不断除以8,直到商为0为止。从下往上取余数就是 对应的八进制。 45(十进制)------> 55 (八进制) 八进制转十进制:使用八进制的每一位乘以8的n次方,n从0开始,每次递增1,然后把各部分的数据 相加即可。 23(八进制)------> (十进制)
八进制数据的特点: 只有0~7这八个字符组成的。
十六进制的数据: 0~9 , a(10)\b (11),c(12),d(13), e(14),f(15), 四个二进制位就是一个十六进制的数据.
十六进制的数据是有0~9、a-f这几个字符组成的。
十进制转换成十六进制:使用十进制的数据不断除以16,直到商为0为止。从下往上取余数就是 对应的十六进制。 38(十进制)---->26 (十六进制) 十六进制转十进制:使用十六进制的每一位乘以16的n次方,n从0开始,每次递增1,然后把各部分的数据 相加即可。 34(十六进制)-----> 52(十进制)
*/
//二进制 , 如果一个数据要表示二进制,那么要在该数据的前面加上0b开头
//八进制数据, 八进制的数据需要以0开头
//十六进制数据, 十六进制的数据需要以0x开头
如果一个数据没有加上任何的标识之前,默认就是十进制的数据。
/*
7. Java申明变量的方法
声明变量的方式:
声明变量的方式一:
数据类型 变量名;
声明变量的方式二: 一次性声明了多个相同类型变量
数据类型 变量名1 , 变量2....
注意:
1. 变量是必须先声明再使用。
2. 在一个作用域中不能声明同名 的变量。
推荐阅读
-
Java concurrency线程池之线程池原理(四)_动力节点Java学院整理
-
Java concurrency线程池之线程池原理(三)_动力节点Java学院整理
-
Android入门之Activity四种启动模式(standard、singleTop、singleTask、singleInstance)
-
Java concurrency之AtomicLongArray原子类_动力节点Java学院整理
-
c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
-
微信公众号开发之设置自定义菜单实例代码【java版】
-
Java concurrency之AtomicLong原子类_动力节点Java学院整理
-
Java concurrency线程池之Callable和Future_动力节点Java学院整理
-
Java面向对象之成员隐藏与属性封装操作示例
-
JAVA/JSP学习系列之六(MySQL翻页例子)