【J2SE】语言基础
标识符
- Java对各种变量,方法,类等要素命名时使用的字符序列称为标识符
- Java标识符命名规则:
2.1 标识符由字母、下划线_ 、美元符$ 、数字 组成
2.2 标识符由字母、下划线_ 、美元符$ 开头
2.3 Java标识符大小写敏感,长度无限制 - Java标识符选择应“见名知意”,不能和java关键字重名
关键字
- java 中一些赋以特定的含义,用作专门用途的字符串成为关键字(keyWorld)
- 所有Java关键字都是小写英文
- goto 和 const 也是Java关键字保留
cabstract | default | if | private | this |
---|---|---|---|---|
boolean | do | implements | protected | throw |
break | double | import | public | throws |
byte | else | instanceof | return | transient |
case | extends | int | short | try |
catch | final | interface | static | void |
char | finally | long | strictfp( strict float point的缩写,指的是精确浮点) | volatile |
class | float | native | super | while |
const | for | new | switch | null |
continue | goto | package | synchronized |
Java常量
Java常量值用字符串表示,区分为不同的数据类型
- 整型常量 123
- 实型常量 3.14
- 字符常量 ‘a’
- 逻辑常量 true false
- 字符串常量 “aaa”
常量这个名词还会用在另外的其他语境中表示值不可变的变量,参考final关键字
Java变量
- Java变量是程序中最基本的存储单元,其要素主要包括 变量名,变量类型和作用域。
- Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为
type varName [=value][,{varName}]
- 本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,每个变量使用前必须要先申请一下,然后必须进行赋值(填充内容),才能使用。
heap 堆
stack 栈
data segment 数据段
code segment 代码段
什么时候能够访问这个变量,你跟它在一个花括号里面,出来它的花括号,就不能访问了
Java分类
按照声明的位置:
- 局部变量:方法或者语句块中定义的变量
- 成员变量:方法外部,类的内部定义的变量
- 类外面不能有变量的声明
按所属的数据类型划分:
- 基本数据类型
- 引用数据类型
Java基本数据类型
Java 定义了4类8种基本数据类型
- 逻辑型–boolean
- 文本型–char
- 整数型–byte、short、int 、long
- 浮点数型–float、double
逻辑型Boolean
- boolean类型数据适用于逻辑运算,用于程序流程控制
- boolean类型数据只允许取值true或false.不可以0或非0的整数替代true和false,这点和C语言不同。
字符型char
- char型数据用来表示通常意义上的“字符”
- 字符常量为用单引号括起来的单个字符,例如
char eChar='a';char cChar='中'
- Java采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式来表示
char c1='\u0061'
- Java语言中还允许使用转义字符‘\’来将其后的字符转变为其他的含义
char c2= ‘\n’
整数类型
- Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
- Java语言整型常量的三种表示形式:
2.1 十进制:12 、-314 、0
2.2 八进制:要求以0开头,如:012
2.3 十六进制:要求0X或者0X开头,如0x12 - java语言的整型常量默认为int型,声明long型常量可以在后面加‘l’,‘L’
int i1=600;
long l1=8888888888888888L //必须加l,否则会出错。
浮点数型
Java浮点类型常量有两种表示形式
- 十进制数形式:3.14、 314.0 、.314
- 科学计数法形式:3.14e2 、 2.14E2 、100E-2
Java 浮点型常量默认为double型,如要声明一个常量为float型,则需要在数字后面加上f或者F
double d=12345.6; //正确
float f=12.3f;//必须加f,否则会出错。
类型转换
- boolean类型不能转换为其他类型
- 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则。
2.1 容量小的类型自动转换为容量大的数据类型(如下图)
2.2容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出
2.3 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的哪一种数据类型,然后再进行计算
2.4 实数常量(如1.2) 默认为double
2.5 整数常量(如123)默认为int
数据类型按照容量大小排序为:
运算符
算数运算符:+、 - 、*、 /、 % 、++、 –
关系运算符:>、 <、 >=、 <=、 ==、 !=
逻辑运算符:& 、&& 、| 、||、!、^
位运算符:& 、| 、^、 ~、 >>、 << 、>>>
赋值运算符:=
5.1 当"="两次数据不一致的时候,可以适用默认类型转转换或者强制类型转换原则进行处理long l=100; int i=(int)1;
5.2 可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超过表数范围byte b=12;char c=100; byte bb=256; short s=-32769;
扩展运算符:+=、-=、*=、/=
字符串连接运算符:+
int id = 800+90; string s="hello"+"world"
7.1 只要其中一个是字符串,系统自动将另一个操作数转换为字符串然后再进行连接
7.2 当打印时,无论任何类型,都会转为字符串进行打印
表达式和语句
- 表达式的类型和值
1.1 对表达式中操作数进行运算得到的结果称为表达式的值。
1.2 表达式值的数据类型即为表达式的类型。 - 表达式的运算顺序
2.1 应按照运算符的优先级从高到低按照顺序进行
2.2 优先级相同的运算符按照事先约定的结合方向进行
- 三目条件运算
x?y:z
X为boolean表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
程序执行的三大结构
顺序
分支
- if
- if…else…
- if…elseif…
- if…elseif…elseif…
- if…elseif…elseif…else
- 只有一句语句需要执行的时候,可以省略{}
循环
for循环
while循环
do while循环
停止循环
4.1 break :终止后面的所有循环
4.2 Continue:终止当前循环,直接开始下一次循环switch条件语句
5.1 Java中switch语句只能探测int类型
5.2 default可以省略,但不推荐
5.3 多个case可以合并到一起
5.4小心case穿透,推荐使用break语句
方法
- Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段
- 形式参数,实参,返回值,返回值类型
- Java中进行函数调用中传递参数时,遵循值传递的原则。
- 基本类型传递是该数据值本身
- 引用类型传递的是对象的引用,而不是对象本身
递归调用
方法一:
public class Test{public static void main(String arg[]){System.out.println(f(5));}public static int f(int n){if(n==1 || n==2){return 1;} else {return f(n-1) + f(n-2)}}
}
方法二:
public class Fab{public static void main(String[] args){System.out.println(f(-9));}public static long f(int index){if(index <1){System.out.println("invalid parameter");return -1;}if(index == 1 || index ==2)return 1;}long f1=1L;long f2=2L;long f=0;for(int i=0;i<index-2;i++){f=f1+f2;f1=f2;f2=f;}return f;
}
【J2SE】语言基础相关推荐
- Day01_JAVA语言基础第一天
1.计算机基础知识(理解) 1.计算机硬件 软件的基础设施,就是载体,计算机的硬件由五大组成部件:运算器,控制器,存储器,输入设备和输出设备 2.计算机软件 系统软件:windows,MAC,LINU ...
- day01计算机基础知识Java语言基础
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- 02-java语言基础
java语言基础 1.java语言概述 1.1 java语言发展史 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大 学计算机科学学士学位,1983年 获得了美国卡内基 ...
- JAVA 语言基础学习
JAVA 语言基础 文章目录 JAVA 语言基础 Java概述 Java语言的诞生 JAVA语言的发展 JAVA语言的特点 什么是跨平台性? 跨平台的实现原理 JDK与JRE JDK的下载和安装 Pa ...
- JAVA教程-JAVA语言基础框架知识学习点-JAVA精通必看
JAVA教程中文版在线代码示例 1. JAVA语言基础 1. 1. 导言( 17 ) 1. 9. 变量( 6 ) 1. 2. Java关键词( 1 ) 1. 10. 变量范围( 2 ) 1. 3. J ...
- 【python语言基础】疑难点整理2
[python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...
- r语言 断轴 画图_R语言基础画图/绘图/作图
R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...
- fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1
今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...
- 学单片机需要多少C语言基础,C语言单片机编程教程
很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...
- %3c- r语言运算符,R语言基础教程之运算符
原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...
最新文章
- 原来Python破解受密码保护的zip文件这么简单,不保证一定成功
- 团购、定时抢购倒计时js版
- facebook.com_如何降低电子商务的Facebook CPM
- 兼容ie6css怎么设置,CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法
- nginx 平滑升级
- 原来数据库里的单引号是这么加进去的
- wordpress 如何移除管理后台仪表盘小工具
- MOSS自带SPDatePickerControl控件的使用
- android 播放音乐媒体文件(二)
- 拦截mysql执行计划数据_MySQL执行计划详解
- simplis汉化包_Simtrix.simplis中文教程.pdf
- 伯努利公式怎么推导的
- 国际短信平台怎么找?
- svn之黄色感叹号处理方法
- 基于STM32智能小车蓝牙遥控实验(有代码含上位机)
- 2020年回顾 | 华清远见研发中心2020年终盘点
- 苹果痛失全球市值第一宝座
- 轻量级研发知识管理--如何帮助研发人员建设过程资产
- Linux下离线或在线安装libreoffice
- stressapptest使用介绍