java基础3(基本数据类型转换和简单循环)

基本数据类型转换

java中可以从任意的基本类型转换到另外的任意基本类型.

boolean除外.boolean不可以转换为其他的数据类型.

数据类型的转换分为默认转换和强制转换

默认转换

整形,字符型,浮点型的数据在混合运算中相互转换,

转换时默认将容量小的转化为容量大的数据类型.

容量大小排序为 byte=short=char<int<long<float<double

byte short char不会互相转换,他们在计算时会首先转换为int类型

 /*
        基本数据类型转换
        默认转换:容量小的转换成容量大的,可以直接转换
         */
        byte q=10;
        int w=q;
        long e=w;
        float r=e;
        double t=r;
强制转换

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。

//强制类型转换
//          从容量大的转换成容量小的
//          缺点1 溢出装不下
        int x= 127;
        byte i=(byte)x;
//缺点2 精度降低   注意 混合运算时小容量会自动转为大容量计算.
        float p=10.9f;
        int o=(int)p;

有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

运算符

Java 语言支持如下运算符:
算术运算符: +,-,,/,%,++,–
字符串连接运算符:+
关系(比较)运算符: >,<,>=,<=,==,!=
逻辑运算符: !,& , | , &&,||
赋值运算符: = ,+ =,- =,
=,/ =
条件运算符
位运算符

算数运算符

在这里插入图片描述

比较运算符

在这里插入图片描述

比较运算符的结果都是boolean型,也就是要么是true,要么是false.

逻辑运算符

逻辑运算符:
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或
在这里插入图片描述

“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ ):当左右都为true时,结果为false。

赋值运算符

在这里插入图片描述

符号:=
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。
扩展赋值运算符: +=, -=, *=, /=, %=

条件运算符

语法:
(条件表达式)? 表达式1:表达式2;
为true,运算后的结果是表达式1;
为false,运算后的结果是表达式2;

表达式1和表达式2为同种类型

(grade>60)? 及格:不及格;
位运算

日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法.

表达式的运算顺序
控制台输入

使用标准输入串System.in
使用Scanner取得一个字符串或一组数字
在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以 取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转 换成布尔型。
例: System.out.print(“输入”); Scanner scan = new Scanner(System.in); String read = scan.next (); System.out.println(“输入数据:”+read);

​ 在使用Scanner对象时,需要在文件头带入 java.util.Scanner;
​ 写法为: import java.util.Scanner;

import java.util.Scanner;

public class cda {
    public static void main(String[] args) {
        double person=0;
        Scanner s=new Scanner(System.in);
         int dog=s.nextInt();
        System.out.println("狗的年龄"+dog);
控制语句

条件语句 - 根据不同条件,执行不同语句。
if
if … else
if … else if
if … else if … else if … else
switch
循环语句 – 重复执行某些动作
for
while
do … while;

if条件结构

if-else结构

if(){
    //语句
}else{
    //语句
}
   

if-else语句的另一种形式为

if(条件1){
   语句1;
}else if(条件2){
    语句2;
}else if(条件n){
    语句n;
}

条件运算符与if-else的联系和区别:

(1)条件运算符可以简化if-else语句

(2)条件运算符要求必须返回一个结果。

(3)if后的代码块可有多个语句.

分支和循环结构

switch语句:多分支选择语句,根据表达式的值,来执行多个操作中的一个。
switch (表达式){
case value1: 语句序列1;
[break];
…………
case valueN: 语句序列N;
[break];
[default : 缺省语句;]
}
表达式可以是byte、short、int、char、枚举类型。JDK 7以后,可以使用String类型;
case语句后面只能使用常量表达式;
case后的值不能重复;
某个case分支如果没有提供break语句,则继续执行下一个case后的语句;
当表达式的值与任一case子句中的值都不匹配时,将执行default后面的语句;如果没有default子句,则程序直接跳出switch语句。

public class Demo8 {
//    switch语句:多分支选择语句,根据表达式的值,来执行多个操作中的一个。.
public static void main(String[] args) {
     int day=1;
    switch(4){
        case 0:
            System.out.println("星期日");
            break;
        case 1:
            System.out.println("星期一");
            break;
        case 2:
            System.out.println("星期二");
        default:
            System.out.println("");
    }
}
}
switch和if语句的对比

如果判断的具体数值不多,而且符合byte、 short 、int、 char这四种类型。虽然两个语句都可 以使用,建议使用swtich语句。因为效率稍高。

​ 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

什么是循环
循环语句功能

在某些条件满足的情况下,反复执行特定代码的功能

循环语句的四个组成部分

循环变量的初始化
循环条件部分
循环体部分
循环变量的更新

循环语句分类

while 循环
do/while 循环
for 循环

while &do while 语句

while 语句为如下形式:
while(逻辑表达式){ 语句; … ; }
执行过程
先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件 不成立 为止

while(条件){
    //语句
}

do while 语句为如下形式:
do { 语句; … ; } while(逻辑表达式);
执行过程
先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环。

do{
    //语句
}while()
    
    
    
for循 环

for 语句为如下形式: for(表达式1; 表达式2; 表达式3){ 语句; … ; }
执行过程 首先计算表达式1,接着执行表达式2,若表达式2的值 = true,则执行循环语句, 接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false.

public class ForDemo {
    public static void main(String[] args) {

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 1; j++) {
                System.out.println("***");
                break;
            }
        
        }
        }
    }

break & continue

break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;例如

int stop = 4;
    for (int i = 1; i <= 10; i++) {
       //当i等于stop时,退出循环
       if (i == stop){
                 break;
          }
       System.out.println(" i= " + i);
    }
 

continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程;例如:

int skip = 4;
    for (int i = 1; i <= 5; i++) {
       //当i等于skip时,跳过当次循环
       if (i == skip){
        continue;
       }
       System.out.println("i = " + i);
    }

循环嵌套

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环和内层循环。

实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

结束外层循环
如果需要从多层循环跳出,则需要使用标签,定义一个标签,如label,然后在需要跳出的地方,用break label就行了.

java中的方法

Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含于类或对象中.
方法在程序中被创建,声明格式:
[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
Java语句;… … …
[return 返回值;]
}

修饰符:这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
形式参数: 在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。

Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
return 语句终止方法的运行并指定要返回的数据。

return语句

return语句用于从当前执行的方法中退出, 返回到调用该方法的语句处继续执行。
有两种格式:
return 表达式; //将表达式的值返回
return; //不返回任何值,当方法说明中用void声明无返回值时, 可以使用这种格式,此类return语句有时可省略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值