运算符

数据类型转换:

小数据类型-------->大数据类型(自动类型转换)

大数据类型--------->小数据类型(强制类型转换)

强制类型转换的格式:

小数据类型  变量名 = (小数据类型)大数据类型

注意的细节:

1.凡是byte、short、char数据类型数据在运算的时候都会自动转换成int类型的数据再运算。

2.两个不同数据类型的数据在运算的时候,结果取决于大的数据类型。

class Demo2 {
public static void main(String[] args) {
/*
byte b= 11; // 一个字节
short s = b; // 把b变量存储的值赋予给s变量。2字节
int i = s; // i是4字节
long l = i; // l 是8个字节。
System.out.println(l);
int i = 128; //4个字节
byte b =(byte) i; // 1个字节
System.out.println(b); // -128
//如果是负数,那么最高位肯定是1, 正数的二进制位的最高位是0。
System.out.println(Integer.toBinaryString(-7)); //sun给我们提供一个功能 Integer.tobinaryString() 查看一个数据的二进制数据形式的。
// 11111001(补码)
凡是byte、short 、 char数据类型数据在运算的时候都会自动转换成int类型的数据再运算。
byte b1 =1;
byte b2 = 2;
byte b3 = (byte)(b1+b2);
System.out.println(b3); //3
System.out.println('a'+1); //98
两个不同数据类型的数据在运算的时候,结果取决于大的数据类型
int i =10;
long l = 20;
i = (int)(i+l);
System.out.println(i);
*/
int i = 10; //
byte b = i; // 一个整数没有加上任何标识的时候,默认是int类型的数据。
//10 是一个常量, 编译器在编译的时候就能够确认常量的值了,byte b = 10,在编译到的时候
//java编译器就会检查到10并没有超出byte的表示范围,所以允许赋值。
//java编译器在编译 的时候并不能确认变量所存储的值,变量存储的值是在运行的时候才在内存中分配空间 的。
System.out.println(b);
}
}

算术运算符:

+ (正数、加法、连接符)连接符的作用:让任何的数据都可以与字符串进行拼接。如果+号用于字符串的时候,那么+号就是一个连接符,并不是做加法功能了。

连接符要注意:任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据。

++(自增): 自增就是相当于操作数+1.

前自增:++位于操作数的前面。比如:++a;

前自增:先自增,后使用。

后自增: 先使用,后自增。

--(自减):操作数-1.

前自减: --位于操作数的前面。--操作数

前自减:先自减,后使用。

后自减:--位于操作数的后面。 操作数--;

后自减: 先使用,后自减。

赋值运算符:

= (赋值运算符)

+=

-=

*=

/=

%=

比较运算符:比较运算符的结果都是返回一个布尔值的。

!= (不等于)

> (大于)

< (小于)

>= (大于等于)

<= (小于等于)

==用于比较两个基本数据类型数据的时候,比较的是两个变量所存储的值是否一致.

==用于比较两个引用类型变量的数据时候,比较的是两个 引用类型变量所记录的内存地址是否一致.

逻辑运算符:逻辑运算符的作用是用于连接布尔表达式的。

amp; (与,并且)

规律: 只有左右变量同时为true,那么结果才是true,否则就为false。

| (或,或者)

规律:只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false.

^ (异或)

规律:只要两边的布尔表达式 结果不一致,那么结果就为true,如果左右两边 的布尔表达式一致,那么就为false.

! (非)

=================

&& (短路与\双与)

短路与和单与符号的相同与不同点:

相同点:短路与和单与运算的结果是一样的。

不同点:使用短路与的时候,如果左边的布尔表达式为false,则不会在运算右边的布尔表达式,从而提高了效率。使用单与的时候,即使发现左边的布尔表达式为false,还是会运算右边的布尔表达式的。只有左边的布尔表达式为false时,双与的效率才要高于单与的.

|| (短路或\双或)

短路或与单或的相同点与不同点:

相同点:运算的结果是一致的。

不同点:使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式。使用单或的时候 发现左边的布尔表达式为true,还是会运算右边布尔表达式。

位运算符:位运算符就是直接操作二进制位的。

amp;(与)

|(或)

^(异或)

规律:如果操作数A连续异或同一个操作数两次,那么结果还是操作数A。

位运算符可能会出现的笔试题目:

  1. 交换两个变量的值,不准出现第三方变量。
  2. 取出一个二进制数据的指定位数。要求读取该二进制数据的低4位

    00000000-00000000-00010100-01001101

    amp; 00000000-00000000-00000000-00001111

    --------------------------------------------------------------

    00000000-00000000-00000000-00001101

移位运算符:

<<(左移)

规律:一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移的位数.

3<<1 = 3*2(1) = 6;

3<<2 = 3*2(2) = 12

3<<3 = 3*2(3) = 24

>>(右移)

规律:一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是移的位数。

3>>1 = 3 / 2(1) = 1

3>>2 = 3 / 2(2) = 0

>>>(无符号右移) :

无符号右移与右移的区别:进行右移运算的时候,如果操作数是一个正数,那么左边的空缺位使用0补,如果操作数是一个负数,那么左边的空缺位使用1补。而使用无符号右移的时候,不管是正数还是负数都统一使用0补。

三元运算符(三目运算符)

格式:

布尔表达式?值1:值2;

三元运算符要注意的细节:

使用三元运算符的时候,一定要使用该表达式返回的结果,或者是定义一个变量接收该表达式返回的结果。

控制流程语句

控制流程语句之(if)判断语句

格式1:适用于一种情况使用。

if(判断的条件){
//符合条件执行的代码;
}

格式2:适用于两种情况下去使用的。

if(判断条件){
//符合条件执行的代码
}else{
//不符合条件执行的代码;
}

格式二作用相当于三元运算符:布尔表达式?值1:值2;

格式三:适用于多种情况下去使用的。

if(判断条件1){
//符合条件1执行的代码
}else if(判断条件2){
//符合条件2执行的代码
}else if(判断条件3){
//符合条件3执行的代码
}......else{
//都不符合上述 的条件执行的代码
}

if语句要注意的细节:

  1. 如果符合条件后只有一个语句需要执行,那么可以省略大括号。但是建议不要省略,因为结构不清晰。
  2. if语句的判断条件后不能添加分号,否则会影响到执行的效果的。

控制流程语句之----switch选择判断语句

switch语句的格式:

switch(你的选择){

    case 值1:
符合值1执行的代码
break;
case 值2:
符合值 2执行的代码
break;
case 值3:
符合值 3执行的代码
break;
case 值4:
符合值 4执行的代码
break;
...... default:
你的选择都符合上述的选项时执行的代码;
break;
}

switch语句要注意的事项:

  1. switch语句使用的变量只能是byte、 char、 short、int、 String数据类型,String数据类型是从jdk7.0的时候开始支持的。
  2. case后面跟 的数据必须是一个常量。
  3. switch的停止条件:

    switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行所有的代码。直到遇到break或者是结束siwitch语句的大括号为止。
  1. 在switch语句中不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。

if--else if---else if 语句与switch语句非常的相似:

switch语句的优点:switch语句的结构清晰。switch缺点:如果 判断的条件是一个区间范围的,使用switch操作就非常的麻烦了。

class Demo2{
public static void main(String[] args) {
int option = 1; //定义一个变量存储你的选择
switch(option){
case 1:
System.out.println("java"); case 2:
System.out.println("C#"); case 3:
System.out.println("javascript"); case 4:
System.out.println("android");
default:
System.out.println("你的选择有误");
}
/*
String str = "world";
switch(str){
case "hello":
System.out.println("hello");
break;
case "world":
System.out.println("world");
break;
}
*/
}
}

循环语句----while循环语句

while循环 语句的格式:

while(循环的条件){
//循环语句;
}

while循环语句要注意的事项:

  1. while循环语句一般是通过一个变量控制其循环的次数。
  2. while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号。但是也是不建议大家省略。
  3. while循环语句的判断条件后面不能跟有分号,否则会影响到执行的效果。

控制流程语句----do while循环语句

格式:

do{
//...
}while(判断条件);

while循环语句与do-while循环语句的区别:

while循环语句是先判断后执行循环语句的,do-while循环语句是先执行,后判断。不管条件是否满足至少会执行一次。

11控制流程语句之---for循环语句

for循环语句的格式:

for(初始化语句;判断语句;循环后的语句){
//循环语句;
}

for循环语句 要注意的事项:

  1. for(;;)这种写法是一个死循环语句,相当于while(true);
  2. for循环语句的初始化语句只会执行一次,只是在第一次循环的时候执行而已。
  3. for循环语句的循环体语句只有一句的时候,可以省略大括号不写。但是不建议省略。
class Demo13 {
public static void main(String[] args)
{
for(int i = 0 ; i< 5 ; i++){
for(int j = 0 ; j<=i ; j++){ //控制列数
System.out.print("*");
}
//换行
System.out.println();
}
}
}

转义字符:特殊字符使用”\”把其转化成字符的本身输出,那么使用”\”的字符称作为转移字符。

常见的转义字符有:

\b	Backspace (退格键)
\t Tab 制表符(制表符的作用就是为了让一列对齐) 一个tab一般等于四个空格。
\n 换行
\r 回车 把光标移动到一行的首位置上。

注意: 如果是在windows系统上操作文件的时候需要换行,是需要\r\n一起使用的。如果是在其他的操作系统上需要换行,仅需要\n即可。

break关键字

break适用范围:只能用于switch或者是循环语句中。

break作用:

  1. break用于switch语句的作用是结束一个switch语句。
  2. break用于循环语句中的作用是结束当前所在的循环语句。

continue关键字

continue的适用范围:continue只能用于循环语句。

continue的作用:continue的作用是跳过本次的循环体内容。继续下一次。

continue要注意的事项:

1.在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。

2.continue 也可以配合标记使用的。

函数(方法):

函数的作用:提高功能代码的复用性。

函数的定义格式:

修饰符  返回值类型  函数名(形式参数..){
需要被封装的功能代码;
return 结果;
}
public static int add(){
int a =2;
int b =3;
return a+b;
}

修饰符: public static

返回值类型:int。返回值类型就是指函数运行完毕后,返回的结果的数据类型。

注意:某些函数是没有结果返回给调用者的,那么这时候返回值类型是void。

函数名:add

函数名的作用:如果需要调用该函数就需要使用的函数名。 函数名只要符合标识符的命名规则即可。

函数名的命名规范:首单词全部小写,其他单词的首字母大写,其他小写。

形式参数:如果一个函数在运行的时候,存在着数据是要调用者确定 的,那么这时候就应该定义形式参数。

return : 把一个结果返回给调用者。

函数的特点:

  1. 函数定义好之后,是需要被调用才会执行的。main函数是有jvm调用的,不需要我们手动调用。
  2. 函数定义好之后是需要被调用才会执行的。
  3. 如果一个函数没有返回值返回给调用者,那么返回值类型必须是使用void表示。
class Demo3 {
public static void main(String[] args) {
//String result = getGrade(189);
//System.out.println(result);
print(7);
}
//需求2: 定义一个函数打印一个乘法表,不需要返回任何数据。
public static void print(int row){
for(int i = 1 ; i<= row ; i++){
for (int j = 1 ;j<=i ;j++ ){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//换行
System.out.println();
}
}
//需求1: 定义一个函数判断一个分数的等级,把分数的等级返回给调用者。
public static String getGrade(int score){
String grade = ""; //定义一个变量存储等级
if(score>=90&&score<=100){
grade = "A等级";
}else if(score>=80&&score<=89){
grade = "B等级";
}else if(score>=70&&score<=79){
grade = "C等级";
}else if(score>=60&&score<=69){
grade = "D等级";
}else if(score>=0&&score<=59){
grade = "E等级";
}else{
grade = "补考等级";
}
return grade; //把等级返回给调用者
}
}

注意:如果一个函数的返回值类型是具体的数据类型,那么该函数就必须要保证在任意情况下都保证有返回值。(除了返回值类型是void以外)

return 关键字的作用:

  1. 返回数据给函数的调用者。
  2. 函数一旦执行到了return关键字,那么该函数马上结束。(能结束一个函数)

注意:一个函数的返回值类型 是void,那么也可以出现return关键字,但是return关键字的后面不能有数据。

break关键字与return关键字的区别:

1.break关键字是结束一个循环。

2.return关键字是结束一个函数。

函数的重载:在一个类中出现两个或者两个以上的同名函数,这个称作为函数的重载。

函数重载的作用:同一个函数名可以出现了不同的函数,以应对不同个数或者不同数据类型的参数。

函数重载的要求:

1.函数名一致。

2.形参列表不一致(形式参数的个数或者是对应的数据类型不一致)。

3.与函数的返回值类型是无关的。

class Demo3 {
public static void main(String[] args) {
//System.out.println("Hello World!");
//add1(1,2);
add(1,2.0);
} // 这些函数都是在做加法运算。
public static double add(int a, int b) {
System.out.println("两个参数的总和: "+ (a+b));
return 3.14;
} //重复定义
public static int add(int a, double b) {
System.out.println("double参数的总和: "+ (a+b));
return 12;
}
/*
public static void add(int a , int b , int c){
System.out.println("三个参数的总和: "+ (a+b+c));
} public static void add(int a , int b , int c,int d){
System.out.println("四个参数的总和: "+ (a+b+c+d));
}
*/
}

java(运算符,控制流程语句,函数 )的更多相关文章

  1. java基础-控制流程语句

    一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者 ...

  2. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  3. java基础59 JavaScript运算符与控制流程语句(网页知识)

    1.JavaScript运算符 1.1.加减乘除法 加法:+(加法,连接符,正数)          true是1,false是0    减法:-    乘法:*    除法:/ 1.2.比较运算符 ...

  4. “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  6. JavaScript(三)---- 控制流程语句

    常用的控制流程语句有判断语句.分支语句.循环语句.基本用法都和java中的一致,switch有几点特殊. 1.判断语句 格式:        if(判断条件){            符合条件执行的代 ...

  7. javascript控制流程语句

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  9. php入门 数据类型 运算符 语言结构语句 函数 类与面向对象

    php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...

随机推荐

  1. Bayes++ Library入门学习之熟悉class-Bayesian_filter_base(1)

    在对Bayes++库的名称空间有了一个大概的了解之后,我们开始学习该名称空间下的第一个子类Bayesian_filter::Bayes_filter_base. 该类与其子类的继承关系图如下图所示. ...

  2. Boom

    紧急事件!战场内被敌军埋放了n枚炸弹! 我军情报部门通过技术手段,掌握了这些炸弹的信息.这些炸弹很特殊,每枚炸弹的波及区域是一个矩形.第i枚炸弹的波及区域是以点(xi1,yi1)为左下角,点(xi2, ...

  3. react 中间件相关的一些源码解析

    零.随便说说中间件 在react的使用中,我们可以将数据放到redux,甚至将一些数据相关的业务逻辑放到redux,这样可以简化我们组件,也更方便组件抽离.封装.复用,只是redux不能很好的处理异步 ...

  4. url链接打开本地应用(测试通过)

    基于windows!! 类比mailto://XXXX 主要参考: https://www.cnblogs.com/snow365/p/6428212.html 应用 1.在网页上本地办公 网页应用越 ...

  5. 外媒分析:iPhone销量低于预期是中国市场疲软影响的

    根据外媒AppleInsider的报道,来自摩根士丹利(Morgan Stanley)的Katy Huberty是最新一位下调苹果目标股价的分析师,她在报告中写道,iPhone的销量低于预期,主要是因 ...

  6. 洛谷 P2014 选课 && caioj 1108 树形动态规划(TreeDP)3:选课

    这里的先后关系可以看成节点和父亲的关系 在树里面,没有父亲肯定就没有节点 所以我们可以先修的看作父亲,后修的看作节点 所以这是一颗树 这题和上一道题比较相似 都是求树上最大点权和问题 但这道题是多叉树 ...

  7. ArcGIS api for javascript——图形-选择一个范围内的点

    描述 本例展示了如何使用图形显示查询结果,如何使用draw toolbar在地图上选择图形和如何修改图形符号为“高亮”. 在地图上画一个矩形区域,加亮矩形范围内的城市.这个应用统计高亮的城市个数并列出 ...

  8. [React Native] Use the SafeAreaView Component in React Native for iPhone X Compatibility

    In this lesson, you will learn how to use the SafeAreaView component to avoid the sensor cluster (th ...

  9. 《R实战》读书笔记二

    第一章 R简单介绍 本章概要 1安装R 2理解R语言 3执行R程序 本章所介绍的内容概括例如以下. 一个典型的数据分析步骤如图1所看到的. 图1:典型数据分析步骤 简而言之,现今的数据分析要求我们从多 ...

  10. Mac系统下安装ant

    看了一些别人怎么在mac下安装ant,大体都是从官网下载bin文件,然后改动权限,建链接.配path. 须要这么麻烦吗?我认为不须要. 以下一个命令搞定: forlong401:build forlo ...