Personal Learning Path of Java——Java语言基础
Java语言是面向对象编程语言,Java程序的基本组成单元是类,类体中又包括属性和方法两部分。每一个程序都必须包含一个main()方法,含有main()方法的类称为主类。
如下面代码:
package text;
public class First {
public static void main(String[] args) {
for(int i=0;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t"); //print表示不换行输出
}
System.out.println(); //println表示输出后自动换行
}
}
}
PS:上面的代码的输出结果为一个九九乘法表(如看不懂没关系,慢慢来)。
上面代码我们可知:程序的包为text,类为First。
一个Java程序是由若干个类组成的(上面的First就是一个类)。语句package text为声明该类所在的包,package为包的关键字(现在并不用了解什么是包,后面再了解)。
变量的声明:
变量分为全局变量(成员变量)和局部变量;
在写程序中,通常将类的属性称为全局变量,将方法的属性称为局部变量。全局变量声明在类体中,局部变量声明在方法体中。上面代码中的i和j就属于局部变量 (若将变量声明在 public class First{.....}类,但不在main()里面的就称为全局变量)。
main()方法是类体中的主方法。public static void 分别是main()方法的权限修饰符,静态修饰符和返回值修饰符。Java程序中的main()方法必须声明为 public static void 。String[] args是一个字符串类型的数组,它是main()方法的参数,main()方法是程序开始执行的位置(即程序入口点)。
在编写Java程序时,可以通过import关键字导入相关的类(具体的这里就不详写)。
基本数据类型:
在Java中又8中基本数据类型来存放数值,字符,布尔值。
数值型:整数类型:(byte(1字节)、short(2字节)、int(4字节)、long(8字节)) 浮点类型:(float(4字节)、double(8字节))
字符型
布尔型
整数类型:
整数类型用来存放整数数值,也就是没有小数部分的数值。可以是正数,也可以是负数。可以用十进制,八进制,十六进制表示。(PS:以十进制表示不能用0开头、以八进制表示必须以0开头、以十六进制表示必须以0X或0x开头)
对于long型值,若赋给的值大于int类型的最大范围值或小于最小范围值,则需要在数字的后面加L或者l,表示该数值为长整型,如long tel=18325045047L;
下面代码为数据类型声明的实例:
package text;
public class Number { //创建类
public static void main(String[] args) { //主方法
byte mybyte=100; // 声明byte型变量并赋值
short a=12345;
int b=3434343;
long c=123345435; //声明long型变量并赋值
long result=mybyte+a+b+c;
System.out.println("总和为:"+result);
}
}
浮点类型:
浮点类型就float类型和double类型。
在定义浮点类型时,只需注意一点就是:默认情况下,小数都被看做double类型,若要定义为float类型,则要在小数后面加F或f。
字符类型:
字符类型(char)用于存储单个字符,占用16位(两个字节)的空间。在定义字符型变量时,要把用单引号把字符变量引起来,如:char ch='t';
和C语言一样,Java中也可以把字符看做整数对待,只是Java中用的是uniicode编码(C语言用的是ASCII编码)。也就是,可以用int类型表示char类型,同样也可以用char类型表示int类型,如:
package text;
public class Gess { //定义类 字符转换输出
public static void main(String[] args) { //主方法
char word1='$',word2='@'; //定义char类型变量,后面将其转换为Unicode值
int a1=23045,p2=45213;
System.out.println("$在Unicode中的位置是:"+(int)word1); //需要将变量以什么数据类型输出就在前面添加数据类型
System.out.println("@在Unicode中的位置是:"+(int)word2);
System.out.println("Unicode表中第23045位是:"+(char)23045);
System.out.println("Unicode表中第45213位是:"+(char)45213);
}
}
在上面代码中,利用了数据类型的强制转换。
布尔类型:
布尔类型也称为逻辑类型,可以通过关键字boolean来定义布尔类型变量,但要注意只有 true和false两个值,分别表示布尔逻辑中的“真”和“假”。布尔类型不能与整数类型进行转换,常用于流程控制中用于判断条件
标识符:
标识符就相当于是一个名字,用来表示类名,变量名,方法名,数组名,文件名等。
Java规定标识符由任意顺序的字母,下划线,美元符号($),数字组成,并且第一个字符不能为数字,标识符不能是Java语言的保留字。
变量与常量:
在程序中,值不能被改变的量称为常量,值能被改变的称为变量。
变量的命名:
1、变量名必须是一个有效的标识符
2、变量名不可以使用Java中的关键字
3、变量名不能重复
4、应选择有意义的单词作为变量名(个人推荐驼峰命名法)
声明常量:
语法:final 数据类型 常量名[=值];
ps:常量名通常使用大写字母表示
如:final double PI=3.14; final boolean BOOL=true; 命名时不要忘记打等号
变量的有效范围:
变量的有效范围指的是程序代码能够访问该变量的区域。
成员变量:在类体中定义的变量,成员变量在整个类中都有效。类的成员变量又分为静态变量(类变量)和实例变量。
如果在成员变量的类型前面加上关键字static,这样的成员变量就叫静态变量。静态变量的有效范围可以跨类,甚至可以达到整个程序之内。 int x=10; static int y=10; 此处x为实例变量,y为静态变量。
局部变量:在类的方法体中定义的变量,局部变量只在当前代码块中有效。
在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量的生命周期取决于方法,当方法被调用时,局部变量就生效,当该方法调用结束后,局部变量也将会被销毁。
局部变量可以和成员变量的名字相同,此时,成员变量将会被隐藏,即这个成员变量在此方法中暂时失效。
Personal Learning Path of Java——Java语言基础的更多相关文章
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- Java入门 - 语言基础 - 04.对象和类
原文地址:http://www.work100.net/training/java-object-class.html 更多教程:光束云 - 免费课程 对象和类 序号 文内章节 视频 1 概述 2 J ...
- Java入门 - 语言基础 - 06.变量类型
原文地址:http://www.work100.net/training/java-variable-type.html 更多教程:光束云 - 免费课程 变量类型 序号 文内章节 视频 1 概述 2 ...
- Java入门 - 语言基础 - 19.方法
原文地址:http://www.work100.net/training/java-method.html 更多教程:光束云 - 免费课程 方法 序号 文内章节 视频 1 概述 2 方法的定义 3 方 ...
- 【Java】 语言基础习题汇总 [1] 基础概念到数组
1 JDK JRE JVM 三种之间的关系,以及JDK JRE 包含的主要结构有哪些? JDK = JRE + 开发工具 javac.exe java.exe javadoc.exe等等 JRE = ...
- Java入门 - 语言基础 - 21.Scanner类
原文地址:http://www.work100.net/training/java-scanner.html 更多教程:光束云 - 免费课程 Scanner类 序号 文内章节 视频 1 概述 2 使用 ...
- JAVA开发语言基础
很多时候我们都不知道,为什么android最开始要用java作为基础语言 看看知乎上都是怎么回答的 为什么java最初成为android开发的基础语言 ------------------------ ...
- Java入门 - 语言基础 - 02.开发环境配置
原文地址:http://www.work100.net/training/java-environment-setup.html 更多教程:光束云 - 免费课程 开发环境配置 序号 文内章节 视频 1 ...
- Java入门 - 语言基础 - 03.基础语法
原文地址:http://www.work100.net/training/java-basic-syntax.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 1 第一个Jav ...
随机推荐
- 如何写一个SSH项目(一)程序设计大体思路
SSH:分别是指Spring,Struts,Hibernate. 后来Struts2代替了Struts,所以我们常说的SSH是指Spring,Struts2,Hibenate. 其中Spring一般用 ...
- scrapy框架第一章
操作环境:python2.7+scrapy 安装比较简单,网上教程也超多,就不在此赘述. 示例网站:https://www.cnblogs.com/cate/python/ (爬去关于博客园所有pyt ...
- Python第二十一天 fileinput模块
Python第二十一天 fileinput模块 fileinput模块 fileinput.input([files[, inplace[, backup[, bufsize[, mode[, ...
- 程序猿的日常——HashMap的相关知识
背景知识 哈希冲突 哈希是指通过某种方法把数据转变成特定的数值,数值根据mod对应到不同的单元上.比如在Java中,字符串就是通过每个字符的编码来计算.数字是本身对应的值等等,不过就算是再好的哈希方法 ...
- AJAX结合PHP整理复习
Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部分页面. 下图是一次请求成功 ...
- Android studio Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to
http://blog.csdn.net/FlyRabbit_1/article/details/74536317 Error:org.gradle.api.internal.tasks.Defaul ...
- vue-router源码学习(一)
因为v3.01版本中的 /src代码使用TypeScript进行书写,我这里仅仅用作模块学习, 具体学习的还是 /dist/vue-router.js 代码. (一)基本使用方式 JS代码 // ...
- day 10 字符编码和文件处理 细节整理
pycharm是文本编辑器. 大概理解为: 输出到屏幕上的时候,是解码过的字符串,用 decode 处理的时候要编码成相应的流, encode 成你要用的格式就可以了 1 .字符编码: 字符==== ...
- Head First设计模式之工厂模式
一.定义 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子类 二.结构 1.抽象工厂角色:这是工厂方法模式的核心,它与应用程序无关.是具体工厂角色必须实现的 ...
- MySQL优化一 简绍
优化方面: 存储层:数据表”存储引擎”选取.字段类型选取.逆范式(3范式) 设计层:索引.分区/分表 架构层:分布式部署(主从模式/共享) sql语句层:结果一样的情况下,要选择效率高.速度快.节省资 ...