当前位置: 首页 > news >正文

java doubke类型转换为String_Java第一周笔记

第一章初始java

java概述与环境的搭配
1 程序就是模拟现实世界,解决现实问题而使用计算机编写一些程序。

2 Java的历史:
1998年发布的JDK1.2(j2ee j2se j2me)
2004年发布JDK1.5改名java5.0
2004年由甲骨文发布Java8.0(JDK1.8)

3Java的语言特点:
面向对象 简单性 跨平台

4 java执行机制
源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
运行:最后使用解释器来运行字节码文件。

5.开发java程序的步骤:
1、编写一个java源程序
新建记事本,将后缀名改为.java
2、编译java源程序,语法:javac 源文件名.java
编译后会生成一个.class的字节码文件
3、运行java程序,运行的是.class的文件,语法:java 源文件名

6 java中的注释
//注释内容 单 行注释:表示对下一条语句进行一个解释
/* 注释内容 */ 多行注释:表示对下面一段语句进行一个解释
/**注释内容 */ 文档注释:表示对一段文本注释
注释的语句是不会进行编译的

第二章Java语言基础

变量的概念

计算机内存中的一块存储空间,是存储数据的基本单元.

他是计算机语言中能储存计算结果或能表示值抽象概念,可以通过变量名来访问获取变量名所指向在内 存中存储的各种数据。

整个内存就好像是酒店,当中包含了多个房间。

房间的容量(大小)不同(单人间、两人间...)

每个房间都有一个唯一的门牌号。

每个房间的住客(类型)也不同。

酒店的房间 — 变量

房间的类型 — 数据类型

房间门牌号 — 变量名

房间的住客 — 值

变量的定义流程

声明:数据类型 变量名;int money; (开辟整数变量空间)。

赋值:变量名 = 值;money = 100; (将整数值赋给变量)。

应用:System.out.print(money);

注意:Java是强类型语言,变量的类型必须与数据的类型一致。

变量的定义方式

声明变量的3种方式:

先声明,再赋值:【常用】

数据类型 变量名;

变量名 = 值;

声明并赋值:【常用】

数据类型 变量名 = 值;

多个同类型变量的声明与赋值:【了解】

数据类型 变量1 , 变量2 , 变量3 = 值3 , 变量4 , 变量5 = 值5;

变量的命名

变量名的名是有规则的,需要使用有代表含义的单词,但不能使用关键字,例如:public,int,class 等。

变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始,后面每个单词字母大写,或 者可以跟数字。

关键字

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中所字母都为小写

.标识符的使用

定义:凡是自己可以起名字的地方都叫标识符。

涉及到的结构:

包名、类名、接口名、变量名、方法名、常量名

规则:(必须要遵守。否则,编译不通过)

Java中的变量具有严格的数据类型区分。(强类型语言)

在Java语言中,任何一个值,都有其对应类型的变量。

数据类型

5c6dbaf6d54e8c2d9d3b192f9aff10ae.png

声明long型变量,必须以"l"或"L"结尾

通常,定义整型变量时,使用int型。

整型默认类型是:int型

c88d0867b32708e115e2cbfe82f2fd9b.png

浮点型,表示带小数点的数值

float表示数值的范围比long还大

定义float类型变量时,变量要以"f"或"F"结尾

通常,定义浮点型变量时,使用double型。

浮点型默认类型为:double

布尔型:

4c02a6ac68b1ed97abac9434df196b1e.png

只能取两个值之一:true 、 false

常常在条件判断、循环结构中使用

字符

03784db5c8d8ae4d60290ae73ad8c1a9.png

定义char型变量,通常使用一对'',内部只能写一个字符

表示方式:1.声明一个字符 2.转义字符 3.直接使用 Unicode 值来表示字符型常量

转义字符

8008a3ba9add636f1e108c7438479a93.png

引用数据类型(字符串)

386f3e6df1f36e5beaf76a26cdc36c8a.png

类型转换(1)

自动类型转换:

两种类型相互兼容。

数值类型(整数和浮点数)互相兼容。

目标类型大于源类型。

double大于int。

表达式的类型就会自动转换提升

Int 与 char可以互相转换。

类型转换(2)

强制类型转换:

把取值范围大的强制转换为小的。

两种类型相互兼容。

目标类型小于源类型。

强制转换容易出现数据丢失,如double的小数被丢失

算数运算符

算数运算符:两个操作数进行计算。

17d9264e99dee8873ddc00c1ecfeb911.png

连接符:+:只能使用在String与其他数据类型变量之间使用。

算数运算符:一元运算符(只有一个操作数)

c10d6328beed14e4ea6f4f54fcd6579e.png

a++ 先运用在计算

a-- 先运用在计算

++a 先计算在运用

--a 先计算在运用

赋值运算符

赋值运算符:等号右边赋值给等号左边。

0cc5b3d9bf8d78e96146f2e8bd2ba903.png

bc70e4529c9f1e666bb86494bd1322e2.png

关系运算符

关系运算符:两个操作数进行比较。

5f170a2d5f414cba32f63c9267522560.png

逻辑运算符

逻辑运算符:两个boolean类型的操作数或表达式进行逻辑比较。

771e7d18e854d5c906114e76c0943456.png

&& 与 (可理解为“并且”)

|| 或 (可理解为“或者”)

! 非 (可理解为“取反”)

注意:

1. &&中如第一个条件不成立后面就不会再计算判断。

2. ||中如果第一个条件成立后面就不会再计算判断。

3. 优先级为:!>&&>||

三元运算符

三元运算符:将判断后的结果赋值给变量。

c07d54f5a704c16d3eb06998a01b0ff2.png

自动类型提升

进行算数运算时:

两个操作数有一个为double,计算结果提升为double。

如果操作数中没有double,有一个为float,计算结果提升为float。

如果操作数中没有float,有一个为long,计算结果提升为long。

如果操作数中没有long,有一个为int,计算结果提升为int。

如果操作数中没有int,均为short或byte,计算结果仍旧提升为int。

注意:任何类型与String相加(+)时,实为拼接,其结果自动提升为String。

控制台录入

程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行。

导包语法:import 包名.类名;//将外部class文件的功能引入到自身文件中。

使用顺序:

导入 java.util.Scanner。

声明 Scanner 类型的变量。

使用Scanner类中对应的方法(区分类型):

.nextInt(); //获得整数

.nextDouble(); //获得小数

.next(); //获得字符串

.next().charAt(0);//获得单个字符

注:如果输入了不匹配的数据,则会产生 java.util.InputMismatchException。

第三章 选择结构与分支结构1.if选择结构
语法:

if(布尔表达式){

//代码块

}

执行流程:

对布尔表达式进行判断。

结果为true,则先执行代码块,再执行后续代码。

结果为false,则跳过代码块,直接执行后续代码

2.if-else选择结构:
语法:

if(布尔表达式){

//代码块1

}else{

//代码块2

}

执行流程:

对布尔表达式进行判断。

结果为true,则先执行代码块1,再退出整个结构,执行后续代码。

结果为false,则先执行代码块2,再退出整个结构,执行后续代码。

3.多重if选择结构
语法:

if(布尔表达式1){

//代码块1

}else if(布尔表达式2){

//代码块2

}else if(布尔表达式3){

//代码块3

}else{

//代码块4

}

执行流程:

表达式1为true,则执行代码块1,再退出整个结构。

表达式2为true,则执行代码块2,再退出整个结构。

表达式3为true,则执行代码块3,再退出整个结构。

以上均为false,则执行代码块4,再退出整个结构。

注意:相互排斥,有一个为true,其他均不再执行。

4 嵌套if选择结构

语法:

if(外层表达式){

if(内层表达式){

//内层代码块1

}else{

//内层代码块2

}

}else{
适用于在一个判断的基础再做一次判断的情况
语法:if(要满足的条件1){
满足条件1得到的结果
if(要满足的条件2){
满足条件2得到的结果
}
}else{
不满足条件1得到的结果
}

执行流程:

当外层条件满足时,再判断内层条件。

注意:[

一个选择结构中,可嵌套另一个选择结构。

嵌套格式正确的情况下,支持任意组合。

switch分支结构

语法:

switch(变量 | 表达式){

case 值1:

逻辑代码1;

case 值2:

逻辑代码2;

case 值n:

逻辑代码n;

default:

未满足时的逻辑代码;

}

执行流程:

如果变量中的值等于值1,则执行逻辑代码1。

如果变量中的值等于值2,则执行逻辑代码2。

如果变量中的值等于值n,则执行逻辑代码n。

如果变量中的值没有匹配的case值时,执行default中的逻辑代码。
满足条件的时候所做的循环操作

根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构

中,调用其执行语句。

当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字

或此switch-case结构末尾结束为止。

break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构

switch结构中的表达式,只能是如下的6种数据类型之一:

byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)

case 之后只能声明常量。不能声明范围。

break关键字是可选的。

default:相当于if-else结构中的else.

default结构是可选的,而且位置是灵活的。

如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。

break关键字可在匹配的case执行后,跳出整个结构。

if结构和switch的区别

相同点:

都可以实现多分支结构。

不同点:

Switch只能处理等级的条件判断,而且条件是整数或者字符等变量的等值判断。

(switch在JDK0.7以后才能进行字符串的判断)

If结构特别是个某个变量处于某个区间的情况(处理区间和等值)。

局部变量

概念:声明在方法内部的变量,必须先赋值再使用。

作用范围:定义行开始到所在的代码块结束。

注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)。

第四章:循环结构

while循环

语法:

while(布尔表达式){

//逻辑代码(循环操作)

}

执行流程:

先对布尔表达式进行判断,结果为true,则执行逻辑代码。

本次执行完毕后,再次进行判断,结果仍旧为true,则再次执行逻辑代码。

直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。

while的特点

特点:首次即有入口条件,先判断、再执行,适用于循环次数不明确的情况。

do while循环

语法:

do{

逻辑代码(循环操作)

}while(布尔表达式);

执行流程:

先执行一次循环操作之后,再进行布尔表达式的判断。

如果结果为true,则再次执行循环操作。

如果结果为false,才会退出循环结构,执行后续代码

do while的应用场景

应用场景:适用于循环次数不明确的情况。

while和do-while的区别

都是循环。

执行次序不同

初识情况条件不满足情况下。

While循环一次都不会执行。

do-while至少会执行一次。

for循环

语法:

for(初始部分 ; 循环条件 ; 迭代部分){

//循环操作

}

执行流程:

首次执行初始部分(仅一次)。

对布尔表达式进行判断,结果为true,则执行逻辑代码。

本次执行完毕后,执行迭代部分,再次判断,结果仍旧为true,则再次执行逻辑代码。

直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。

d05a024d8c6cf56928df7d7fcb7014fc.png

for的特点

特点:首次即有入口条件,先判断、再执行,适用于循环次数明确的情况。

流程控制break

break:终止、跳出switch、循环结构。

流程控制continue

continue:结束本次、进入下一次循环。

break中带标号

break有两种形式:不带标号和带标号。

不带标号:跳出当前循环,继续执行循环体下面的语句;

带标号:跳出当前循环并跳出标号所指的循环,继续执行所指的循环体下面的语句

continue中带标号

continue有两种形式:不带标号和带标号。

不带标号:终止当前循环,直接开始下一轮循环。

带标号:跳出本次循环,直接转到标号所指定的代码段的下一轮循环。

嵌套循环

概念:在一个完整的循环结构中,嵌套另一个完整的循环结构。

d3393a165b306238e04ca4b04516ff17.png

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Windows Embedded从入门到精通12月预告
  • 多个app用同一个签名文件_一文教你玩转幕布App
  • dskrdsk的区别
  • 联想杜比音效_联想锐龙入门本上市,强劲R5来了
  • 回忆Solaris_ 学习笔记1 [网络地址和掩码]
  • 边缘计算应用场景_边缘计算盒子有什么作用?博时特EC01 边缘计算盒子具体特征及应用场景来了...
  • 回忆Solaris_学习笔记2 [系统概念]
  • C# 动态 条件 组合_C# Win Form 记录集分页显示的实现
  • python 定义字符串变量_Python中什么是变量Python中定义字符串
  • 彪哥搞笑新闻
  • python爬虫登录网站_Python爬虫实例(四)网站模拟登陆
  • 东北大学校园小品,爆笑143次的,值得一看
  • python中类的定义方法_python中类的定义方法
  • infoq中文站 发布《Grails入门指南 》中文版
  • python网络通信框架_Python——Twisted框架(网络通信)
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Lucene解析 - 基本概念
  • Python_OOP
  • Solarized Scheme
  • Vue2.0 实现互斥
  • WebSocket使用
  • 百度小程序遇到的问题
  • 从0实现一个tiny react(三)生命周期
  • 从输入URL到页面加载发生了什么
  • 代理模式
  • 分布式事物理论与实践
  • 聊聊flink的BlobWriter
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何实现 font-size 的响应式
  • 如何在 Tornado 中实现 Middleware
  • 山寨一个 Promise
  • 我看到的前端
  • 小程序01:wepy框架整合iview webapp UI
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 飞书APP集成平台-数字化落地
  • #pragma once
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (翻译)terry crowley: 写给程序员
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (转)visual stdio 书签功能介绍
  • (转)创业家杂志:UCWEB天使第一步
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .Net CF下精确的计时器
  • .net framework profiles /.net framework 配置
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...