02_java基础语法
02_java基础语法
- 1.Java命名规范
- 2.关键字与标识符
- 2.1关键字
- 2.2标识符
- 3.变量与常量
- 3.1.变量:
- 3.2.常量
- 4.数据类型
- 4.1分类:
- 4.2转换
- 5.运算符与表达式
- 5.1.运算符
- 5.2 表达式
- 6.Java注释
- 6.1JAVA注释的意义
- 6.2 JAVA注释分类
- 7.练习
- 7.1实现一个数字加密器
- 7.3程序员的表白
- 7.4将数据分页
- 7.5自增
- 7.6 &与&&的差别
1.Java命名规范
Java中命名需要符合的要求
1.必须以字母,_下划线,$美元符号开头,其余部分可以为字母、下划线、美元符号、数字。
注意开头不能是数字。而且不允许使用汉字命名
2.Java命名没有长度限制
3.Java的关键字和保留字不能够用来命名
4.Java的命名规范:
- java采用匈牙利命名规范,命名要有明确的意义
- 类名的首字母要大写,如果包含多个单词,那么每个单词的首字母都要大写
- 变量名首字母小写
- 常量全部大写
- 方法名首字母小写。如果由多个单词组成,之后每个单词首字母大写
- 包名全部小写,com.公司名称,项目名称,模块名称
2.关键字与标识符
2.1关键字
关键字就是由特殊含义的、被保留的、不能随意使用的字符。
特点:
- 完全小写的字母
- 在编程软件中由特殊的颜色。
2.2标识符
标识符就是我们自己定义的内容。比如类的名字、方法的名字、变量的名字等等
命名规范:
- 类名的规范:首字母大写,后面每个单词首字母大写(驼峰模式)。例如:HelloWorld
- 变量名规范:首字母小写,后面每个单词大写(小驼峰式)
- 方法名规范:同变量名
3.须知:
package语句的作用:用来管理同名的类,主要防止同名类在同一个文件夹中的冲突,所以用包来管理
3.变量与常量
3.1.变量:
程序运行期间值发生变化的量称之为变量
3.1.1 变量的声明方式
- 数据类型 变量名;
byte b;byte b1;
- 数据类型 变量名=变量值;(推荐使用)
short s = 20;System.out.println(s);
- 数据类型 变量名1=变量值1,变量名2=变量值2
int m = 12,n = 21;
//int m = 12,n = 21 ;
//m++;
System.out.println(m+n);
System.out.println(m);
- 数据类型 变量名1,变量名2=变量值2;
int i, i1=23;
//int i;
//int i1=23;
3.1.2变量声明的注意点:
- 变量必须先声明并且赋值以后才能使用(注意:变量在没有赋值时,不能够直接使用,也不能进行运算)
- 只能以字母,下划线,美元符号开头
- 变量命名时同一个类中只能出现一次,Java程序区分大小写
3.1.3 案例:
在内存中存储本金1000元显示内存中存储的数据的值
public class MyVariable{public static void main(String[] args){//main方法int money = 1000;//存储本息 //声明变量(注意命名规范)System.out.println(money);//显示存储的数据的值 //将变量输出
}
}
常见错误:
错误一
public class Error1 {/** 常见错误 */public static void main(String[] args) {String title;//声明变量title存储课程名System.out.println(title);//从控制台输出变量的值}
}
错误二
public class Error2 {/** 常见错误*/public static void main(String[] args) {int %hour = 18;//声明变量hour存储学时System.out.println(%hour);//从控制台输出变量的值}
}
错误三
public class Error3 {/** 常见错误*/
public static void main(String[] args) {String name = "张三";//声明变量存储“张三”String name = "李四";//声明变量存储“李四”}
}
3.2.常量
程序运行期间值不发生变化的量称之为常量
3.2.1 常量的声明方式
final 数据类型 常量名= 常量值
final double pi =3.14159;
3.2.2常量声明的注意点
通常只要遇到final修饰的否是常量,具有不可改变的特质
3.2.3 案例:计算圆的面积
public class Area{public static void main(String[] args){final double pi = 3.14159;//圆周率//定义常量pidouble radius = 1.5;//半径double area = pi * radius * radius;//计算圆面积System.out.println("圆的半径是:"+radius);System.out.println("圆的面积是:"+area);
}
}
4.数据类型
java 语言是一门强类型语言,也就是说,每个变量或者符号常量甚至一个方法都必须有明确的数据类型或者是返回值类型。
4.1分类:
基本数据类型
- byte:byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127,因为第一位是符号位。
- short:short型(短整型)数据在内存中占用2个字节
- int:int型(整型)数据在内存中占用4个字节。
- long:long型(长整型)数据在内存中占用8个字节。
- float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位)
- double:double型(双精度浮点型)数据在内存中占用8个字节。
- char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占两位。
- boolean:数据值只有true或false,适用于逻辑计算,占一位(bit)
- 基本数据类型类型使用的注意点
在java中,整形数据默认为int数据类型,浮点型默认为double数据类型,如果要表示long型数据或float型数据,要在相应的数值后面加上l、L或f、F,否则会出现编译问题
引用数据类型
类
数组
接口
(后续再更)
4.2转换
- 自动类型转换
将范围小的类型转换为范围大的类型称之为自动类型转化,也叫做隐形类型转换
规则及注意点:
两种类型必须要有兼容性(数值与浮点型的相互转换)
目标类型必须大于原类型案例一
定义char类型变量,将char类型转换为int类型,输出
定义一个char类型,对变量进行算术运算,输出
public class ZiDongZhuanHuan{public static void main(String[] args){char c1 = 'a';int i1 = c1;System.out.println("char自动类型转换为int后的值等于"+i1);char c2 = 'A';int i2 = c2 + 1;System.out.println("char类型和int计算后的值等于"+i2);
}
}
- 案例二
计算平均分:
定义第一次平均分,定义第二次平均分,定义增长率,计算平均分
public class AutoTypeChange{public static void main(String[] args){double firstAvg = 81.29;double secondAvg;int rise = 2;secondAvg = firstAvg + rise;System.out.println("第二次平均分是: "+secondAvg);
}
}
- 强制类型转换
将范围大的类型转换为范围小的类型称之为强制类型转换,也叫显式类型转换
格式:小范围的数据类型 小范围的变量名 = (小范围的数据类型)大范围的变量名
格则及注意点:
1)转换过程中可能导致溢出或损失精度
如:
int i = 128;
byte b = (byte)i;
因为byte类型是8位,最大值为127,所以当int强制转换为byte类型是,值128就会导致溢出
2)浮点数到证书的转换是 通过舍弃小数而得,而不是四舍五入
(int)23.7 == 23;
(int)-45.89f== -45;
- 案例一
定义变量,对变量进行强制类型转换,输出变量
public class QiangZhiZhuanHuan{public static void main(String[] args){int i1 = 123;byte b = (byte)i1;System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
- 案例二
计算市场份额:
定义变量,定义增长率变量,计算现在的份额并且进行数据类型转换
public class TypeChange{public static void main(String[] args){int before = 20;double rise = 9.8;int now = before + (int)rise;System.out.println("新的市场份额是:"+now);
}
}
5.运算符与表达式
5.1.运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java页提供了一套丰富的运算符来操纵变量
1)分类
赋值运算符:(=:将右边的赋值给左边的)
+=,-+,%=,/= 。a += b相当于a = a + b案例:
计算成绩
定义王浩、张萌的成绩,将往好的成绩赋值给张萌。将成绩输出
public class OperatorDemo{public static void main(String[] args){int wangScore = 80;int zhangScore ;zhangScore = wangScore;System.out.println("张萌的成绩是 "+ zhangScore);
}
}
- 算术运算符
- +:【1】两个数相加之和;【2】表示连接符;【3】表示正号
- -:【1】两个数相减之差;【2】表示负号
- *:两个数相乘之积
- /:两个数相除之商,取商
- %:两个数相除之商,取余数
- ++:【1】++在前:先自增后赋值;【2】++在后:先赋值后自增
- –:【1】–在前:先自减后赋值;【2】–在后:先赋值后自减
- 关系运算符(比较运算符)
==:表示两个数是否相等,等为true,不等为false
!=:表示两个数是否不等,等为false,不等为true
>:表示一个数是否大于另一个数
<:表示一个数是否小于另一个数
>=:表示一个数是否大于等于另一个数
<=:表示一个数是否小于等于另一个数
注意点:
比较运算符的结果都为boolean型,也就是true或者false案例一:
刘德华今年53,刘嘉玲今年50,蔡依林今年35, 柳岩30了。如果小于35岁算青年,请问谁已经不是青年了。
定义个人变量并且赋值,输出并且判断是否为青年人,
int liudehua = 53;
int liujialing = 50;
int caiyilin = 35;
int liuyan = 30;
System.out.println("刘德华是否是青年"+(liudahua<35));
System.out.println("刘嘉玲是否是青年"+(liujialing<35));
System.out.println("蔡依林是否是青年"+(caiyilin<35));
System.out.println("柳岩是否是青年"+(liuyan<35));
System.out.println("蔡依林是否比柳岩大"+(caiyilin>liuyan));
System.out.println("刘嘉玲是否是50岁"+(liujialing>=50));
- 案例二:
System.out.println(1 / 2 * 3);//结果是
System.out.println(1.1 + "a");算是追加上,结果是1.1a
- 逻辑运算符
&&:逻辑与运算符
当结果都为true时结果才为true,只要有一个结果为false,那么最终结果就位false;当判断第一个表达式结果为false时就不在判断第二个表达式,结果就位false,只有当第一个表达式为true时才会去判断第二个表达式。它与语文中的和、与意思一致。||:逻辑或运算符
只要有一个条件表达式为true,那么结果就为true;当条表达式都为false时,结果为false。它与语文中的或意思一致。!:逻辑非运算符:跟正常的结果相反,也就是说对的就是错的,错的就是对的
注意点:将多个条件连接起来,结果都为boolean型,也就是true或者false
案例:
张浩Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他
定义音乐和java变量并且赋值,输出并且对变量进行判断
public class JiangLi{public static void main(String[] args){int music =99;int java = 98;System.out.println((java >= 98 && music >= 80)||(java == 100 && music >= 70))
}
}
- 条件(三步)运算符
- 格式:(条件表达式)?结果一(true):结果二(false)
- 注意点:当条件表达式为true时,选择结果一,当条件表达式为false时,选择结果二
- 案例:
判断两个数的大小:定义两个变量,使用三目运算符进行判断输出
public class SanMu{public static void main(String[] args){int a =12;int b = 15;System.out.println(a>b?true:false);
}
}
2)优先级
优先级由高到底:
小括号() > ! >算术运算符 > 关系运算符 > && > || > 赋值运算符
3)键盘输入与接受
//import java.util.Scanner;
public class Demo2{public static void main(String[] args){/*字符串类型*/Scanner sc = new Scanner(System.in);//创建输入对象System.our.println("请输入字符串: ");//设置提示语句String s = sc.next();//next()接受的是一个字符串类型数据//或者可以写sc.nextLine();接受的是一行的数据,stringSystem.out.println("s====="+s);/*整数类型*/Scanner sc1 = new Scanner(System.in);//创建输入对象System.our.println("请输入整数: ");//设置提示语句int i = sc.nextInt();//nextInt()接受的是一个整数类型数据//或者可以写sc.nextLine();接受的是一行的数据,stringSystem.out.println("i====="+(i+12));}
}
5.2 表达式
表达式就是符号(+、-等)与操作数(b、3等)的组合
6.Java注释
- 用来解释所写的JAVA语句的作用,但是JAVA的注释不在运行时的程序中出现
6.1JAVA注释的意义
- 用于解释你所写的代码
- 能够快速的通过注释找到错误代码的位置
- 协同开发,提高开发效率
6.2 JAVA注释分类
1.//注释内容:单行注释2./*注释内容*/ :多行注释3./**注释内容*/:文档,文本注释(一般用于描述类,基本信息)
7.练习
7.1实现一个数字加密器
加密规则是:
加密结果 = (整数*10+5)/2 + 3.14159,加密结果仍为一整数
import java.sql.SQLOutput;
import java.util.Scanner;
/*
* 任务一:实现一个数字加密器,加密规则是:
加密结果 = (整数*10+5)/2 + 3.14159,加密结果仍为一整数
* */
public class Practice4 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("Please input a number: ");int i = sc.nextInt();double m;m = (double)(i*10+5)/2 +3.14159;System.out.println("加密后的数字:"+m);}
}
7.2 去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,
求今年所占份额?
public class Practice4 {public static void main(String[] args) {int old=20;double increase=9.8;double neww;neww=old+increase;System.out.println(neww);}
}
某班第一次Java考试平均分81.29,第二次比第一次多2分,
计算第二次考试平均分?
public class Practice4 {public static void main(String[] args) {double first=81.29;int increase = 2;double sencond=first+increase;System.out.println(sencond);}
}
7.3程序员的表白
char c1 = 73;char c2 = 76;char c3 = 111;char c4 = 118;char c5 = 101;char c6 = 89;char c7 = 111;char c8 = 117;System.out.print(c1);System.out.print(c2);System.out.print(c3);System.out.print(c4);System.out.print(c5);System.out.print(c6);System.out.print(c7);System.out.print(c8);System.out.println();
7.4将数据分页
//练习1
假设有个用户列表 用户总数是一个可变的值,用变量userCount表示
制作 分页功能 页码用变量pageNUm表示,每页条数用变量pageSize表示
写一个程序功能 实现能够通过传入不同的pageNum 显示相应的页面
1.计算有多少页.2.假设pageCount=2 pageSize=5
//练习2
//计算limitParam1,limitParam2的值,这题没有做
int userCount, pageCount, pageSize;//userCount = Integer.valueOf(args[0]);//设想使用args传的(从数据库)userCount = 104;pageCount = 2;pageSize = 5;//mysql中limit应用int limitParam1 = 0, limitParam2 = 1;
//很重要的一个小点,程序的认为if (userCount % pageSize == 0) {pageCount = userCount / pageSize;} else {//覆盖了所有的情况,要么if要么就是elsepageCount = userCount / pageSize + 1;}//limitParam2=pageNum;System.out.println(pageCount);System.out.println(limitParam1);System.out.println(limitParam2);
7.5自增
int a = 1;a = a++;// a是1.int b = a++;//b=1,a变成2//int d=++a * a++;得9int c = a + ++a * a++;//c=2+ 3*3=11;//a=4 b=1 c=11运算优先级:a=2,先++-》a=3,再*就是3*3System.out.println(String.format("a:%s,b:%s,c:%s", a, b, c));
梳理思路,搞清自增
int aa = 3;System.out.println(++aa + aa++);//4+4=8System.out.println(aa++ + ++aa);//3+5=8System.out.println(aa + ++aa * aa++);//3+4*4
7.6 &与&&的差别
比较查看&与&&的区别:
//报错:NullPointerExceptionSystem.out.println(str.equals("我爱中国") && 10>=5);System.out.println(str !=null );//false 没有报错System.out.println(str.equals("我爱中国"));//报错System.out.println(str !=null & str.equals("我爱中国") );//equals判断方法断路与 && 与& ,同理,断路或|| 或|也是相同道理System.out.println(str != null && str.equals("我爱中国"));false 没报错原因:&&有断路的特性,因为前为false,所以后半句没再走
02_java基础语法相关推荐
- FPGA(2)基础语法 -- 按键控制led(alway@语句)
目录 1.module 文件名(端口) 2.声明关键字 3.always@语句 代码 1.module 文件名(端口) 注:这里最好养成习惯,只在文件名后面的括号中声明引脚变量,输入输出.关键字类型 ...
- javascript基础语法——表达式
前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...
- Rust语言开发基础(六)基础语法
2019独角兽企业重金招聘Python工程师标准>>> 一.变量的定义和使用 其它常见的编程语言对变量的定义通常是通过声明类型和使用关键new来创建一个变量,但Rust不是,Rust ...
- python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型
(点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...
- python赋值语句的一般格式为_Python 基础语法
Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...
- 深入浅出CMake(二): 基础语法
在<深入浅出CMake(一):基础篇>文章中,我们已经知道了怎么依葫芦画瓢编写简单的 CMake 构建文件了,但如果应对复杂的工程的话,这还是远远不够的. CMake 是一套编译构建体系, ...
- Python基础语法学习笔记
Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...
- Python的零基础超详细讲解(第三天)-Python的基础语法
多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如: duohang = item_one + \item_two + \item_three ...
- Python的零基础超详细讲解(第二天)-Python的基础语法1
Python 基础语法 打开python的编辑器 这里注意的是,之前下载的python在电脑主页上没有快捷方式,需要在win开始界面中打开 最终打开效果是一个白色的跟终端类似的编辑器,我们输入的时候是 ...
最新文章
- javascript window 属性和方法。
- 基于XML的IOC案例
- 产品经理的成长历程(宏观)
- (\w+)\s*, \s*(\w+)
- create_metrology_model创建测量几何形状所需的数据结构(原理)
- 替换元素_80%的前端会答错的问题:lt;imggt;是什么元素?
- 朋友圈消失的人,都在偷偷读哪些书?
- 深入理解Yii2.0(yii学习的经典博客)
- Photoshop 入门教程,处理图层「4」如何向多图层图像中添加更多图像?
- 21.Phabricator 安装
- 解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线
- 在html种颜色的代码,html颜色代码生成器
- shell命令的退出状态码(exit status)
- 记一个老年机的逆向工程与主线linux移植 (一)—— 信息收集与Bootloader移植
- DES加密算法(框图流程详细分析)(C++实现)
- 精度与比例尺之间的关系
- SQL常用的一些关键字
- kitti 数据集点云使用笔记
- 一个基于 LKM 的 Linux 内核级 rootkit 的实现
- 数据分析-numpy-pandas-matplotlib