Java标识符命名规则,运算符,分支结构

1 Java标识符命名规则

1.1命名规则案例
163邮箱,注册邮箱名限制6~18个字符,可使用字母,数字,下划线,需要以字母开头命名规则分析1.有长度限制2.可用字符限制(字母,数字,下划线)3.起始限制 要求使用字母开头
1.2基于阿里巴巴Java开发规约限制 的标识符命名规范
标识符是是么???程序员在代码开发中,可以用于自定义的名称信息,包括变量名,方法名,类名,接口名……AJCG 标识符命名规范:1.在标识符有且只允许使用英文字母(A~Z,a~z),数字(0~9),唯一可以使用的标点符号下划线(-)2.标识符要求务必使用英文字母开头,不允许使用其他字符3.Java中的标识符严格区分大小写,大写和小写不同!!!4.标识符没有严格长度限制,但是会根据实际情况,限制标识符长度。5.标识符要求做到【见名知意,动宾结构】正确案例studentName studentAge studentScore  大小写区分不同单词getStudentName setStudentName   动宾结构【见名知意】getStudentAge  setStudentAge错误案例:含糊不清,无法分析变量名没有明确的语义性,要求变量名定义单独成立,一行一个int a,b,c,d,e;看似高阶,实则低阶payBeizhu 不能出现英文和拼音混合zhiFuBeiZhu 不允许,拼音除专用名词(alibaba beijing)之外,其他不允许使用tsgly  绝对不允许使用,阅读性极差!!!6.标识符要求使用驼峰命名法或下划线命名法驼峰命名法:小驼峰:标识符首字母小写,之后的每一个单词首字母大写,作为区分标记studentName  studentAge常用语:变量名,方法名大驼峰标识符每一个单词首字母大写FirstJava Demo1 Demo2ArrayIndexOutOfBoundsException数组下标越界BufferedInputStream常用于:类名,接口名class之后的名称就是类名。下划线命名法:所有单词首字母全部大写,不同单词之间使用_分别Java_HOME MAX_VALUE MIN_VALUEMAX_ARRAY_SIZE DEFAULT_CAPACITY7.标识符不得使用已经被Java占用的的关键字和保留字代码中变颜色的内容都不可以用于自定义标识符,例如 int float double
8.标识符在一定范围内唯一163邮箱绝对不可能出现两个人账号一样!!!

2.运算符

2.1算术运算符
开发中使用的算数运算符:+ - * / () = %
开发中使用要求:1.先乘除后加减2.除数不能为零3.从左至右基本原则4.有优先级需求,使用括号处理5.= 赋值号, 将赋值号右边的数据,赋值给左侧的变量
取余%:小学没有学分数/小数10 ÷ 6 = 1 ... 41是商为结果4是余数开发中取余目标结果就是余数,如果按上面的案例,结果为四除以/:Java规定:如果是整数相除,没有小数,取整!!!5 / 2 = 2;小案例:10 / 12 = ?结果为010 % 12 = ?结果为1012 / 10 = ?结果为1 12 % 10  = ?结果为225 / 3 = ?结果是825 % 3 = ?结果是1public class Demo1{public static void main(String[] args){int num1 = 10;int num2 = 20;num1 = num1 + num2; //num1 = 30/*【注意】代码运行过程中,要求关注变量存储数据变化过程。num1 目前数据存储通过第七行代码存储内容变化结果为30下方代码执行过程中,num1 = 30  num2 = 20  ==>num1 = 30 * 20 */num1 = num1 * num2;  //num1 =600      num2 =20num1 = num1 - num2;  //num1 =580num1 = num1 / num2;  //num1 =29num1 = num1 % num2;  //num1 = 9/*【注意】num2 数据存储在整个的运算过程中,没有发生任何变化因为num2 数据存储内容没有被重新赋值[结论]变量数据存储内容,有且只有在被赋值的情况下,才可以修改*/System.out.println(num1);System.out.println(num2);}
}
【增强版运算符】
+= -=  *= /=  %=
int num1 = 10;
int num2 = 20;num1 = num1 + num2;
num1 += num2;
/*
优势:1.简化代码结构,节省代码体量2.自带buff,有特殊功能
*/
2.2自增资减运算符
自增自减运算符格式:++ 自增 ==>操作的变量数据内容自增 1 -- 自减 ==> 操作的变量数据内容自减 1
//自增自减运算符演示
public class Demo2{public static void main(String[] args){int num1 = 10;System.out.println(num1);/*自增运算符作用是操作的变量数据存储内容自增1 */System.out.println(num1++);  //注意自增运算符的位置System.out.println(num1);System.out.println(++num1);System.out.println(num1);System.out.println();/*分析:1.所有的自增操作全部有效,num1 数据存储结果原本是10通过两次自增操作后,num1目前数据存储情况为122.发现问题System.out.println(num1++);  为什么结果为10当前代码运行时,num1数据存储结果为10, ++自增操作在变量之后,执行流程a.取值目前的num1数据内容参与代码运行,得到数据10b.代码当前执行完毕之后,num1完成自增操作 num1   10==>11看到的展示效果为10的情况 【先取值后自增】System.out.println(++num1);  为什么结果为12当前代码运行时,num1数据存储结果为11,++自增操作在变量之前,执行流程a.首先num执行自增操作,num11 ==> 12b.取值当前num数据存储情况,参与代码运行,得到数据12看到的展示效果为12的情况,【先自增后取值】【总结】++ 在变量之前,【先自增后取值】++ 在变量之后,【先取值后自增】自减操作同理代码歧义性过大!!!*/}
}
【语法总结】1. 自增自减运算符有且只能操作变量,不可以操作常量!!!2. 自增自减运算符在变量之前和之后,操作流程不同在变量之前,先操作后取值在变量之后,先取值后操作【使用建议】1.自增自减歧义性过大,代码中尽量减少使用2.如果必要使用a.单独发行int num = 10;num++;++num;b.使用 += 1 or -= 1 替换 自增自减运算符++num or num++ ==> num += 1--num or num-- ==> num -=1swift ios开发语言中,已经禁用自增自减运算符,避免歧义,全部使用+= 1 和 -=1替换提高代码阅读性【自增自减运算符常用位置】1.循环操作2.面试题
【面试题】
int num = 5;
int ret = num++ * ++num;num = ?
ret = ?
/*
num 初始化数据为5自增自减运算符是针对于变量操作,自增自减运算符存在,一定会修改对应的变量数据内容目前表达式中的存在num++ 和++num针对于num的自增操作执行了两次所以num变量最终数据存储结果为7ret的结果是取决于num在表达式中的数据提供效果ret  = num++ * ++numnum++ 先取值,后自增针对于 ret计算表达式的数据提供为【5】num++ 取值之后自增,num数据存储内容为6++num 先自增,后取值++num针对于num数据存储修改,num数据存储内容为7针对于ret的运算就是5*7 为35*/【面試題】
int num = 10;
++(num++)++
num = ?;
/*
语法错误有小括号先处理括号中的内容小括号的数据内容对于整个表达式而言是一个【值/数据】,不是变量!!小括号里的内容对外的结果不是num变量自增自减运算符有且只能操作变量 ,不能操作【常量】,同样无法操作【值/数据】
*/
2.3关系运算符
判断表达式两端的数据结果是否满足关系运算符需求,对外的结果是Boolean(true false)Java中开发使用的关系运算符:>  <  => <= != ==//关系运算符演示
public class Demo3{public static void main(String[] args){/*关系运算符对外的数据结果为Boolean这里定义一个Boolean变量ret存储关系运算符结果*/boolean ret = 5>2;System.out.println(ret);//trueret = 5<2;javaSystem.out.println(ret);//falseret = 5 >= 5;System.out.println(ret);//trueret = 5<= 3;System.out.println(ret);//falseret = (5 == 5);System.out.println(ret);//trueret = (5 != 15);System.out.println(ret); //true}}
2.4逻辑运算符
条件叠加,多个条件整合成一个完整的条件分析逻辑运算符对外最终结果为Boolean
逻辑与与&&同真为真,有假即假成为会员的条件:充值并消费500,充值不消费,消费不充值都不可
逻辑或或||有真即真,同假即假
逻辑非【取反!】强牛,犟,真变假,假变真
//逻辑运算符演示
public class Demo4 {public static void main(String[] args) {boolean ret = 10 > 5 && 5 > 2;System.out.println(ret);  //trueret = 10 > 15 && 5 > 2;System.out.println(ret); //falseret = 10 > 15 || 5 > 2;System.out.println(ret); //trueret = 10 > 15 || 5 < 2;System.out.println(ret); //falseret = !(10 > 5);System.out.println(ret); // falseint num1 = 66;boolean ret1 = (num1 % 4 == 0 && num1 % 100 != 0) || (num1 % 100 == 0);System.out.println(ret1);}
}
2.5逻辑表达式短路原则
int num = 10;
boolean ret = num > 15 && ++num >10;num = 10;
ret = false;/*
结果分析&&同真为真,有假即假如果一个逻辑与表达式中出现了一个false条件,该逻辑表达式是否可能为true?绝对不可能!!!逻辑与表达式,计算机在运行过程中,一旦发现false条件!!当前逻辑与表达式已经结果明确为false!!计算机为节约资源,从false条件开始,之后的所有表达式不在运行!!【逻辑与短路原则 同真为真,有假即假】
*/int num = 10;
boolean ret = num > 5 || ++num > 5;num = 10;
ret = true;
/*
结果分析:||有真即真,同假为假逻辑或表达式,计算机在运行过程中,一旦发现true条件!!!当前逻辑与表达式已经结果明确为true!!计算机为节约资源,从ture条件开始,之后的所有表达式不在运行!!节约计算机资源。逻辑或短路原则 有真即真,同假即假。*/
2.6运算符小案例
1.完成条件判断书写,判断一个数值是否在0~100之间
int num = 50;
//0 <== num <==100 数学规范,但不支持开发
num >= 0 && num <== 100;
//使用逻辑与表达式连接条件,限制当前num数据范围在0~100

2.完成条件判断书写,判断一个字符是否为数字字符

char ch = '4';//字符变量 ch 存储 字符常量 '4'==> 数字字符
ch >= '0' && ch <== '9';
//使用逻辑与表达式连接条件,限制当前ch字符数据存储范围是 '0' ~'9
//如果操作过程中涉及到字符内容,有且只允许使用字符本身

3.完成条件判断书写,判断一个字符知否为大写英文字母

char ch = 'Y';
ch >='A' && ch <='Z';

4.完成条件判断书写,判断一个字符是否为英文字母

char ch = 'h';
ch >= 'A' && ch <= 'Z';  //大写英文字母条件
ch >= 'a' && ch <= 'z'; //小写英文字母条件
//不可能出现一个英文字母既满足大学,也满足小写!!!满足其一即可认为是英文字母
ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z';
(ch >= 'A' && ch <= 'Z' ) || (ch >= 'a' && ch <= 'z');
/*
以上两个条件都是正确条件!!!小括号使用可以认为是一个整体!!!从阅读性角度分析,
可能优于没有括号的版本逻辑运算符与优先级高于或!!! 无需括号限制优先级和整体性问题。*/

5.完成条件判断书写,完成闰年条件判断

闰年条件:
1.可以被4整除,但是不能被100整除
2.可以被400整除满足以上任意条件都是闰年!!!
int year = 2008;
//可以被4整除 取余 4 余数为0
year % 4 == 0;
//不能被100整除
year % 100 != 0;
//可以被400整除
year % 400 == 0;year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ;
year%4==0&&year%100!=0||year%400==0;//拉胯

3.分析结构

3.1生活场景
会员等级:超市消费满500元     黑铁VIP消费满5000元    白银VIP消费满50000元   黄金VIP消费满500000元  钻石VIP充值返现:超市充值100        送10充值1000       送100充值10000      送1000充值100000     送10000学生成绩等级:满分100分90分以上 秀儿80分以上 良儿70分以上 中儿60分以上 过儿60分以下 让你爹穿着拖鞋来校区
3.2 if分支结构
//格式
if(/*条件判断boolean true or false*/){//语句体
}
/*
执行流程:代码运行判读if 之后小括号里面的数据内容是否为TRUE,如果为TRUE执行语句体内容,如果为FALSE 不执行。不管if 分支结构中的语句体是否执行,代码依然会从if 大括号之后继续执行。*/
//if 分支结构演示
public class Demo5 {public static void main(String[] args) {/*用户消费满68元,送停车券一张tatalprice总价*/int totalPrice = 150;if (totalPrice >= 68) {System.out.println("尊贵的用户,送你一张停车券");}System.out.println("欢迎下次光临!!!");}}
3.3 if else分支结构
//格式
if (/*条件判断 boolean true or false*/) {//true 语句体} else {//false 语句体}
/*
执行流程:代码执行 if else 分支结构,首先判断 if 之后小括号中的数据内容判断为TRUE,如果为TRUE 执行if 大括号对应的TRUE语句体。如果为FALSE 执行 else 大括号对应的FALSE语句体。执行完毕继续执行后期的代码。开发有一个梗世界上最遥远的距离,不是我在你面前,你不知道我爱你,而是我在if里,你在else里
*/
//if else分支结构演示
public class Demo6 {public static void main(String[] args) {/*周年庆大酬宾,消费满168元,送小拉菲一瓶,不满送 足力健一双*/int totalPrice = 200;if (totalPrice >= 168) {System.out.println("尊贵的用户,送您一瓶小拉菲");} else {System.out.println("尊贵的用户,送你一双足力健");}System.out.println("欢迎您下次光临!!!");int price = 888;if (price >= 666) {System.out.println("欢迎光临,尊贵的某某某VIP用户");} else {System.out.println("欢迎光临,某某某用户");}System.out.println("感谢光临");}
}
3.4 if else-if分支结构
//格式
if (/*条件匹配1*/) {//处理方式1
} else if (/*条件匹配2*/) { //处理方式2
} else if (/*条件匹配3*/) {//处理方式3
} else {//不满足任何条件匹配的备选处理方式}
/*
执行流程:代码运行 if else-if 分支结构,自上而下匹配if之后的小括号里面的条件,如果发现匹配项执行对应的处理方式,跳出分支结构,如果没有任何一个if 条件满足,执行else 中的备选处理方式。if else-if分支结构执行完成,继续执行之后的代码。*/
// if else-if 分支结构代码演示
public class Demo7 {public static void main(String[] args) {int totalPrice = 111;//消费金额递增if (totalPrice >= 666 && totalPrice < 1688) {System.out.println("欢迎光临,尊贵的铂金VIP");} else if (totalPrice >= 1688 && totalPrice < 3888) {System.out.println("欢迎光临,尊贵的黄金VIP");} else if (totalPrice >= 3888 && totalPrice <8888) {System.out.println("欢迎光临,尊贵的钻石VIP");} else if (totalPrice >= 8888) {System.out.println("欢迎光临,尊贵的钻紫VIP");}else {System.out.println("欢迎光临,尊贵的用户");}/*消费金额递减对比上方的条件,递减方式1.if 之后条件内容没有逻辑与判断,效率高2.代码量降低3.分析条件的罗列关系*/int price = 1980;if (price >= 8888) {System.out.println("欢迎光临,尊贵的紫钻VIP");} else if (price >= 3888) {System.out.println("欢迎光临,尊贵的钻石VIP");} else if (price >= 1688) {System.out.println("欢迎光临,尊贵的黄金VIP");} else if (price >= 666){System.out.println("欢迎光临,尊贵的铂金VIP");} else {System.out.println("欢迎光临,尊贵的用户");}System.out.println("期待你的再次光临");}}

Java标识符命名规则,运算符,分支结构相关推荐

  1. JAVA标识符命名规则及命名规范

    文章目录 一.标识符可以标识什么 二.标识符是什么 三.标识符命名规则 四.标识符命名规范 一.标识符可以标识什么 标识符可以标识类名.方法名.变量名.接口名.常量名等. 二.标识符是什么 凡是程序员 ...

  2. Java标识符命名规则

    经常在网上看到一些代码对标识符的命名都不大规范,这次特地整理一下java中各类标识符的命名规则,希望对大家有所帮助. 一.标识符命名规则 1.标识符用作给变量.方法和类命名. 2.以字母.下划线&qu ...

  3. 简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循

    1.标识符命名规则 (如果不遵循,编译不通过,需要严格遵守) 由26个英文字母大小写,0-9,_,$组成 不可以数字开头 不可使用关键字和保留字,可以包含关键字和保留字 严格区分大小写 不能包含空格 ...

  4. java 标识符命名规则_java语言基础之标识符和命名规则详解

    免费资源网 - https://freexyz.cn/ 标识符Java 对各种变量.方法和类等要素命名时使用的字符序列称为标识符 技巧:凡是自己可以起名字的地方都叫标识符 定义合法标识符规则: 由26 ...

  5. java标识符命名_Java标识符命名规则

    经常在网上看到一些代码对标识符的命名都不大规范,这次特地整理一下java中各类标识符的命名规则,希望对大家有所帮助. 一.标识符命名规则 1.标识符用作给变量.方法和类命名. 2.以字母.下划线&qu ...

  6. Java/C/C++标识符命名规则和规范

    Java/C/C++标识符命名规则和规范 本篇文章是关于标识符的命名规则和命名规范的总结,有助于像作者本人一样的初学者或是知识模糊需要复习的小伙伴. 命名规则: (1).由26个英文字母大小写,数字0 ...

  7. 用户标识符C语言规则,c语言用户标识符命名规则是什么?_后端开发

    PHP Xdebug 是什么?_后端开发 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析PHP程序运行状态,该工具需要配合编辑器来打断点.跟踪.调试及分析等,支持Xdebug ...

  8. Python|Git remote|hosts|PyCharm常用快捷键|变量转换|命名|类型|运算符|分支|调整tab|循环|语言基础50课:学习记录(1)-项目简介及变量、条件及循环

    目录 系列目录 均引自原项目地址: Python语言基础50课简介及相关网址 修改 hosts 文件 解决 GitHub 上图片无法显示 视频资源 Python语言基础50课代码等文件资源 表1. P ...

  9. python里、能用分支结构写出循环的算法吗_python变量运算符分支结构循环结构及例题...

    第一周总结复习 python的[官方网站](http://python.org) ##变量 ''' 1.变量的作用:变量是数据的载体 2.变量的命名:字母数字下划线开头,不能用数字开头 不能用关键字, ...

最新文章

  1. 机器学习数据预处理之缺失值:众数(mode)填充
  2. zabbix登山路——简单监控_各项参数解析
  3. php+读取配置里的值,ThinkPHP 读取配置信息与动态配置(C方法)
  4. php视图,thinkPHP框架中视图的讲解(附代码)
  5. step1 . day4 C语言基础练习之日历
  6. 【建议收藏】面试官贼喜欢问的 32+ vue 修饰符,你掌握几种啦?
  7. (CVPR_2021) Center-based 3D Object Detection and Tracking
  8. Oracle数据库的【安装包选择、下载】、安装与卸载
  9. Caffe框架的使用
  10. leetcode--打家劫舍
  11. 2021年山东省职业院校技能大赛中职组“网络安全”赛项规程
  12. Android 网星工具箱Beta版
  13. 2019年最新版百度网盘不限速下载工具,无需登录实现高速下载!
  14. 交换机的全trunk模式(native vlan)
  15. 2020三校生英语计算机试卷,2020江西省“三校生”对口升学考试考试说明英语科目最新考试英语复习教材考前模拟试卷课本教材资料试题...
  16. java date before,Java中的LocalDate isBefore()方法
  17. java的public_java中public用法
  18. 安卓开发(2):基本UI界面设计
  19. TPM介绍及工作原理
  20. 驾考经历分享——长沙

热门文章

  1. 顺序存储二叉树和线索化二叉树
  2. matlab画图窗口显示中文乱码,全是方框的解决方法
  3. 数据结构例9.编写一个算法,将带头结点的单向链表 拆分成一个奇数链表和一个偶数链表,并分别输出
  4. 微信小程序navigateBack返回数据
  5. 安川伺服总线通讯方式_plc通讯方式有哪三种?plc常见的三种通讯方式
  6. MATLAB使用GPU加速计算
  7. 腾讯云神笔低代码平台的申请没通过,只能等公测了
  8. 宋楚老师银行风险与合规讲师
  9. Js同步加载图片资源
  10. 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算