第二章 Java 基本语法1
2.1关键字
1.定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。
2.特点:关键字中所有字母都是小写字母。
3.分类:
用于定义数据类型的关键字:byte、short、int、long、float、double、char、boolean、class、interface、enum、void
用于定义数据类型值的关键字:true、false、null
用于定义流程控制的关键字:if else switch case default while do for break continue return
用于定义访问权限修饰符的关键字: private protected public
用于定义类,函数,变量修饰符的关键字:abstract final static synchronized
用于定义类与类之间的关键字:extends implements
用于定义建立实例及引用实例,判断实例的关键字:new this super instanceof
用于异常处理的关键字:try catch finally throw throws
用于包的关键字:package import
其他修饰符关键字:native strictfp transient volatile assert
2.2标识符
1.定义:Java对各种变量,方法和类等要素命名时使用的字符序列成为标识符;凡是自己可以起名字的地方都叫标识符。
2.定义合法标识符规则:
由26个英文字母大小写,数字,0-9,_或$组成。
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
3.注意:在起名字时,要尽量“见名知意”
4.Java中的名称命名规范
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
2.3变量
1.概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
Java中每个变量必须先声明,后使用
该区域的数据可以在同一类型范围内不断变化
2.定义变量的格式:数据类型 变量名=初始化值
3.使用变量注意:变量的作用域:一对{}之间有效
4.变量的分类
按被声明的位置划分:
成员变量:方法外部、类的内部定义的变量
局部变量:方法或语句块内部定义的变量
注意:类外面(类对应的大括号外面)不能有变量的声明
按所属的数据类型划分:
基本数据类型变量、引用数据类型变量
//变量:
//1.java中的变量定义的格式:数据类型 变量名=初始化值
class TestVeriable
{
public static void main(String[] args)
{
//2.变量得先定义后使用
int myInt1=10;
double d1=12.3
System.out.println("myInt1");
System.out.println("myInt1+d1");
//i1超出了其作用的范围,不可使用
//System.out.println(i1); } public void method1(){
int i1=10;
System.out.println(i1);
}
}
注:基本数据类型的值直接放到内存中,引用类的值在堆内存中,栈内存中放的是堆内存的首地址
字符串不是基本数据类型,而是引用类型
数值数据类型及转义字符
//变量:基本数据类型(8个) vs 引用数据类型(类、接口、数组)
//1.java中的变量定义的格式:数据类型 变量名=初始化值
class TestVeriable
{
public static void main(String[] args)
{
//2.变量得先定义后使用
int myInt1=10;
double d1=12.3
System.out.println("myInt1");
System.out.println("myInt1+d1");
//i1超出了其作用的范围,不可使用
//System.out.println(i1); //3.整型:byte(-128~+127) short int(默认类型) long
byte b1=12;
//byte b2=128;
short s1=128;
int i1=12;
//定义long型变量,值的末尾加“L”或“l”
long l1=2134123351345325L;
System.out.println(l1); //4.浮点型(带小数点的数值):float double(默认类型)
double d1=12.3;
//声明float类型的浮点型数据,末尾要加“F”或“f”
float f1=12.3F;
System.out.println(f1); //5.字符型(=两个字节):char只能表示一个字符(英文、中文、标点符号、日文....)
char c1='a';
//char c2='ab';
String str="ab";
char c3='中';
String str1="中国";
//可以表示转义字符
char c4='\t';
char c5='\n';
System.out.println("abc"+c5+"def");
//了解
char c6='\u1234';
System.out.println(c6); //6.布尔类型:boolean 只能够取值为ture或false,不能取值null
boolean bool1=true;
if(bool1){
System.out.println(“我是个\”美\“女”);
}else{
System.out.println(“你在说谎!”); } public void method1(){
int i1=10;
System.out.println(i1);
}
}
数据类型按容量大小排序为:
/*
变量之间的运算:(不考虑boolean.剩下:char byte short int long float double)
1.自动类型转换
2.强制类型转换
*/
class TestVeriable1
{
public static void main(String[] args){
//1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转换为
//容量大的数据类型:char,byte,short===>long===>float===double
int i1=12;
short s1=2;
int i2=i1+s1;
float f1=12.3F;
float f2=f1+i2;
//float d1=f2+12.3; long l=12L;
float f3=l;
System.out.println(i2);
System.out.println(f2); char c1='a';//
c1='A';//
int i3=c1+l;
System.out.println(i3); //需要注意的:当char\byte\short之间做运算时,默认的结果为int类型
short ss1=12;
byte bb1=1;
char cc1='a';
//short ss2=ss1+bb1;
int ii1=ss1+bb1;
//char cc2=cc1+bb1;
int ii2=cc1+bb1;
short ss2=l1;
//short ss3=ss1+ss2;
int ii3=ss1+ss2; //2.强制类型转换:容量大转换为容量小的.要使用强制类型转换符:()
//强制类型转换的问题:导致精度的损失
long l1=12345l;
int m1=(int)l1;
System.out.println(m1); byte by1=(byte)m1;
System.out.println(by1); //平时常用的字符串,也是一种数据类型:String
String nation="我是一个中国人";
System.out.println(nation);
//字符串与基本数据类型之间的运算:只能是连接运算:+。得到的结果仍为一个字符串
String str="abc";
String str1=str+m1;//abc12345
System.out.println(str1); //题目:
String str1="hello";
int myInt1=12;
char ch1='a';
System.out.println(str1+myInt1+ch1);//hello2a
System.out.println(myInt1+ch1+str1);//109hello
System.out.println(ch1+str1+myInt1);//ahello12 }
}
2.4进制
1.对于整数,有四种表示方式:
二进制:0,1,满2进1.以0b或0B开头。
十进制:0-9.满10进1
八进制:0-7,满8进1,以数字0开头表示。
十六进制:0-9及A-F,满16进1,以0x或0X开头表示。此处的A-F不区分大小写。
2.5 运算符
2.5.1 赋值运算符
赋值运算符即“=”,是一个二元运算符(即对两个操作数进行处理),其功能是将右方操作数所含的值赋值给左方的操作数。
语法格式: 变量类型 变量名=所赋的值
tips:左方必须是一个变量,右边所赋的值可以是任何数值或表达式,包括变量,常量或有效的表达式。
运算规则:先计算右方的值,将结果赋值给左边。
note:在Java中可把赋值运算符连在一起使用,eg: x=y=z;
2.5.2 算术运算符
tips:1."+"、"-"运算符可以作为数据的政府符号,eg:+5,-7
2.除法运算时,0不可以作除数。eg:int a=5/0,系统会报出ArithmeticException的异常。
//测试算术运算符:+ - + - * / %
class TestAri
{
public static void main(String[] args){ //除:/
int i=;
int j=i/;
double d=i/;
double d1=i/5.0;
System.out.println(j);//
System.out.println(d);//2.0
System.out.println(d);//2.4 //取模:%:取余数。结果的符号取决于被模数
int i1=%;
int i2=-%;
int i3=%(-);
int i4=-%(-);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
2.5.3自增自减运算符
自增、自减运算符是单目运算符,可放在操作元之前,也可放在操作元之后。操作元必须是一个整型或是浮点型变量。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算;放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)。代码如下:
//测试自增自减运算符: ++ --
class TestAri
{
public static void main(String[] args){
//前++:先自增1,后做运算
//后++:先做运算,后自增1
int myInt1=10;
int myInt2=myInt1++;//后++
System.out.println(myInt1);//
System.out.println(myInt2);// int myInt3=10;
int myInt4=++myInt3;//前++
System.out.println(myInt3);//
System.out.println(myInt4);//11 //前--:先自减1,后做运算
//后--:先做运算,后自减1
int myInt5=10;
int myInt6=myInt5--;//后--
System.out.println(myInt5);//
System.out.println(myInt6);// int myInt7=10;
int myInt8=--myInt7;//前--
System.out.println(myInt7);//
System.out.println(myInt8);//
}
}
3.5.4 比较运算符
比较运算符属于二元运算符,用于程序中的变量和变量之间、变量和常量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是ture,否则结果时false。比较运算符通常用在条件语句中来作为判断的依据。比较运算符的种类和用法如表所示:
第二章 Java 基本语法1的更多相关文章
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- 第二章 JavaScript核心语法
第二章 avaScript核心语法 一.变量的声明和赋值 JavaScript是一种弱类型语言,没有明确的数据类型,也就是在声明变量时不需要指定数据类型,变量的类型由赋给变量的值决定. 在Java ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
- 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常
第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域
- 第二章Java内存区域与内存溢出异常
第二章 Java内存区域与内存溢出异常 一.概述 对与Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每个new操作去写delete/free代码,不容易出现内存泄露和内存溢出问 题, ...
- 虚拟机--第二章java内存区域与内存溢出异常--(抄书)
这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第二章java内存区域与内存溢出 ...
- 第二章 Java基础知识(上)
2.1.注释 单行注释 // 注释内容 多行注释 /* 注释内容 */ 文档注释 /**注释内容 */ 2.2.关键字 定义:在Java语言中被赋予特殊含义的小写单词 分类: 2.3.标识符 定义:标 ...
- (第二章)Java并发机制的底层实现原理
一.概述 Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令. ...
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
随机推荐
- Cocos Creator JS 获取当前日期与时间
var testDate = new Date(); testDate.getYear();//获取当前年份(2位) testDate.getFullYear(); //获取完整的年份(4位,1970 ...
- python之单例模式
#单例模式:有时需要写出高性能的类,那么会采用单例模式.通俗的解释就是类只创建一次实例,贯穿整个生命周期,实现了高性能. #1.模块化单例#所谓的模块化就是一个单独的.py文件来存储类,这样就是单例模 ...
- 关于11G DataGuard 日志传输的案例
案例探讨 在归档和非归档模式下,配置参数log_archive_dest_2后,DG的备库是否传输日志. 案例环境描述 本次环境如下,一套RAC+单机DG,然后从DG还原出来一个单独的测试库A,测试库 ...
- vue中使用vue-quill-editor及上传图片到自己服务器
第一步,下载依赖 cnpm install vue-quill-editor --save 第二步,再main.js里引入组件(我这里是全局注册) // 富文本编辑器 import VueQuillE ...
- List、Set、Map集合
1 List接口 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢? 接下来,我们一起学习Collection中的常用几个子类(List集合. ...
- CentOS7中OpenVPN的配置
最近需要在openstack中集成openvpn功能,故熟悉了一下openvpn的搭建流程,记录下来,供参考 版本:openvpn-2.3.4.tar.gz 下载地址:http://pan.baidu ...
- ARP抓包实战小结-TCP/IP协议学习
2011-12-26 21:36:47 图1 一,环境说明 硬件连线.PC与2440开发板直接用网线连接. PC的ip地址:192.168.0.107.2440开发板的ip地址:192.168.0.1 ...
- webservice常用两种身份验证方式
在项目开发,我们经常会使用WebService,但在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService?从哪里引用我的WebService?对于第一个问题,就涉 ...
- java static关键字和代码块
static关键字 代码块 方法重写 1. 方法重写的特点: 2. 注意事项: static关键字 为什么需要学习static关键字? 针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑 ...
- JAVA中for与while关于内存的细节问题
文/朱季谦 JAVA的程序结构有顺序结构,循环结构,分支结构,以及跳转结构,而循环结构里经常用到的无外乎有以下几种:for循环,while循环,以及do-while循环.本文主要讨论for循环与whi ...