首页 > 编程语言 >Java学习日记

Java学习日记

时间:2023-03-26 23:23:38浏览次数:41  
标签:语句 运算符 Java 学习 循环 True 日记 表达式 布尔

2023.3.26学习Java打卡

类型转换

不同类型数据先转化为同一类型,再运算:
#低--------------------→高
byte,short,char-→int-→long-→float-→double

例如:

//强制转换   高-→低
int a = 128;
byte b = (byte)i;
输出a=128,b=-128.
#因为存在内存溢出问题,byte范围从-128~127
    
//强制转换   低-→高
int a = 128;
double b = i;
输出a = 128,b = 128.0.

注意:

  • 布尔值不能进行转换
  • 不能把对象类型转换为不相干的类型
  • 高-→低需要强制转换,注意内存溢出、精度问题
  • 操作比较大的数字时,可以使用下划线( _ )分割

变量

  • Java变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域
  1. 作用域:

    类变量:static 变量名

    实例变量:在类内,从属于对象;若不初始化值,默认为0或0.0,布尔值默认false,除基本类型外其余默认值为null。

    局部变量:在方法中有用,必须声明和初始化值。

常量

注:初始化值后不会再改变;常量一般使用大写字符。

运算符

算数运算符:+ - * / % ++ --
赋值运算符:=
关系运算符:> < >= <= == != instanceof
逻辑运算符:&& || ! (与、或、非)
位运算符 :& | ^ ~ >> << >>>
条件运算符:? :
*拓展赋值运算符:+= -= = /=

位运算:

A = 0011 1100
b = 0000 1101
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
  ~ B = 1111 0010
//2*8=16  2*2*2*2 =  2<<3  左移三位
//0000 0010  2
//0001 0000  18
// << 相当于 *2   >> 相当于/2 
x ? y : z     
//若x==true,则结果为y,否则结果为z

Java流程控制

  • Scanner对象:通过Scanner类获得用户的输入。

    Scanner scanner = new Sacnner(System.in);
    

    使用Scanner类的next()与nextLine()方法获取输入的字符串。

    使用hasNext()与hasNextLine()判断是否还有输入的数据。

    • next()
      1. 读取到有效字符后才可以结束输入。
      2. 有效字符前的空白,此方法会自动去掉
      3. 输入有效字符后,后面的空白作为分隔符或结束符
      4. next()不能得到带空格的字符串
    • nextLine()
      1. 返回的是enter之前所有字符。
      2. 可以获得空白。

顺序结构

自上而下按顺序依次执行。

选择结构

  • if单选择结构

    if(布尔表达式){
        //布尔表达式为True后将要执行的语句
    }
    
  • if双选择结构

    if(布尔表达式){
        //布尔表达式为True后将要执行的语句
    }else{
        //布尔表达式为False后将要执行的语句
    }
    
  • if多选择结构

    if(布尔表达式1){
        //布尔表达式1为True后将要执行的语句
    }else if(布尔表达式2){
        //布尔表达式2为True后将要执行的语句
    }else if(布尔表达式3){
        //布尔表达式3为True后将要执行的语句
    }else{
        //以上布尔表达式都不为True后将要执行的语句
    }
    
  • if嵌套结构

    if(布尔表达式1){
        //布尔表达式1为True后将要执行的语句
        if(布尔表达式2){
            //布尔表达式2为True后将要执行的语句
    	}
    }
    
  • switch多选择结构

    switch(表达式){
        case xxx:
            //语句
            break;
        case xxx:
            //语句
            break;
        default:
            //语句
    }
    #case标签必须为字符串常量或字面量
    

循环结构

  • while循环

    while(布尔表达式){
        //循环内容
    }
    
  • do...while循环

    do{
        //代码语句
    }while(布尔表达式);
    

    注:对于while语句而言,若不满足条件,则根本无法进入循环。

    而do...while则会至少循环一次。

  • for循环

    for(初始值; 布尔表达式; 更新){
        //代码语句
    }
    

    注:初始值可以为空语句。布尔表达式也可以为空。更新也可以为空。

  • 增强for循环

    for(声明语句 : 表达式){
        //代码句子
    }
    

    注:

    声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值也与此时数组元素的值相等。

    表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

  • break、continue

    • break:强行退出循环,不执行剩余语句。

    • continue:终止某次循环,即跳过本次循环体,接着下个循环体的判定。

标签:语句,运算符,Java,学习,循环,True,日记,表达式,布尔
From: https://www.cnblogs.com/s1mple-han/p/17259923.html

相关文章

  • stm32学习笔记---i2c学习
    stm32学习笔记---i2c学习1、半双工,不能同时发送数据,一个设备发送另一个设备接受2、接受到数据有有应答3、能够挂在多个模块,且通信之间不受干扰,支持一主多从,多住多从4......
  • 器件学习---电感
    当电流通过线圈后,会产生磁场,磁感线穿过线圈,产生的磁通量与电流i有如下关系:φ=LiL即为线圈的自感系数,也就是电感的本质特性根据法拉第电磁感应定律,当通过线圈的磁通发......
  • 用java实现书城项目(简单增删改查2)
    书城项目登录dao接口:UserDaoUserslogin(Stringusername,Stringpassword);实现:UserDaoImplQueryRunnerqueryrunner=newQueryRunner();Connectionconnection......
  • 器件学习---电容
    器件学习---电容1、等效模型  ESR-等效串联电阻-理想值为0陶瓷电容(毫欧级)<钽电容(百毫欧级)<铝电解电容(欧姆级)ESL-等效串联电感-理想值为0范围在100ph~10n......
  • Elasticsearch 学习--安装(windows版本),基本操作(使用Postman)
    Elasticsearch学习--安装(windows版本),基本操作(使用Postman)2.1Elasticsearch安装2.1.1下载软件Elasticsearch的官方地址:https://www.elastic.co/cn/Elasticsearch......
  • go语言学习-json和xml
    JSONjson是完全独立于语言的文本格式,是k-v的形式name:zs应用场景:前后端交互,系统间数据交互json使用go语言内置的encoding/json标准库编码json使用json.Marshal()函数可以......
  • Python多任务-多线程-多进程-协程-进阶学习
    --多任务-多线程-多进程-协程-进阶学习--文中所提到的案例参考:GITHUB中项目文件夹https://github.com/FangbaiZhang/Python_advanced_learning/tree/master/02_Python_ad......
  • Redis进阶系统学习2——Redis数据操作
    第二部分:Redis数据操作Redis官网全部命令:https://redis.io/commandsRedis命令参考中文网:http://doc.redisfans.com/下面主要介绍一些常用数据操作命令6.键命令查看所有键......
  • MongoDB进阶系统学习3——MongoDB高级操作
    第三部分:MongoDB高级操作5聚合分组统计(管道)5.1聚合aggregate聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道......
  • 3.26 地铁查询系统安卓端学习进度。
    学习了安卓Studio中如何连接mysql的数据库的知识,并正在学习如何查询Mysql数据库中的信息显示到app中去,目前为止还无法实现对数据库的查询功能。完成了对地铁查询系统主要......