javaSE探赜索隐之二<第二篇博客,磕磕绊绊,收货满满!加油>
文章目录
- IDE的使用
- 注释
- 关键字
- 保留字
- 标识符
- 变量
- 变量的分类:
- 按数据类型
- 按位置
- Java数据类型
- 基本数据类型
- 数值型
- 整数类型
- 浮点类型
- 字符型
- 布尔型
- 引用数据类型
- 类
- 接口
- 数组
- 数据类型转换
- 默认转换
- 强制类型转换
- 运算符
- 算术运算符
- 关系(比较)运算符
- 逻辑运算符
- 赋值运算符
- 条件运算符(三目运算符)
- 位运算符
- 表达式的运算顺序
- 控制语句
- 控制台输入
- 条件语句
- 循环
- 方法
IDE的使用
- IDE(Integrated Development Environment )集成开发环境包含编辑器、编译器、调试图形界面
- IntelliJ IDEA是捷克的一家公司收费的产品
- Eclipse是IBM公司开发的 现在捐献eclipse基金会
注释
- 注释是对程序功能的说明,注释以某种特定符号作为标记,注释不会程序在运行过程中执行.
//单行注释
/*
多行注释
*/
/**
文档注释,用于为类、方法、属性的功能进行说明,调用时可以提示其功能介绍.
*/
关键字
关键字是被语言中赋予特定含义的单词,用来修饰例如类,属性,方法。
关键字中所有的字母都为小写。
保留字
- 在java语言中未被使用的关键字,预留的,命名时不能使用。例如goto 、const
标识符
标识符是java中对变量、类、方法等命名时使用的字符序列。(自己可以命名的名称。)
命名规则:由大小写字母、数字 、下划线、$构成。但是数字不能开头。命名不能是关键字,保留字且不能有空格 区分大小写。
//约定俗成 见名知意 驼峰 类名首字母大小
user_nameint age = 10;String userName = "jim";
- 命名规范:
包名:多单词组成所有的字母为小写
类名、接口名:多单词组成时,所有的单词首字母大写。
变量名、方法名:驼峰规则
常量名:所有字母大写
变量
- 变量本质上是程序中最基本的存储单元,程序执行中数值可变,通过变量名访问。
- 先声明,后赋值,才能使用。
变量的分类:
按数据类型
- 基本数据类型
- 引用数据类型
按位置
1.成员变量(定义在类中,方法区之外。仅作用于该类中。)
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
引用类型初始值:null;
基本类型初始值:byte=0;int=0;long=0;short=0;double=0.0;float=0.0;char=' '(空 字符串);
布尔类型初始值boolean=" false"
2.类变量(定义在类中,方法区之外,用static修饰。仅作用于该类中,且不用创建对象)
3.局部变量(定义在方法区、语句块之内。仅作用于该方法区。)
Java数据类型
- 不同的数据类型,在内存中分配的存储空间也不尽相同。
- 在赋值时,要注意 “数据的值“ 与 “数据的类型” 要匹配。
基本数据类型
数值型
整数类型
- byte占一个字节
- short占两个字节
- int占四个字节
- long占八个字节,声明long型常量时可在值后面加L/l。
浮点类型
float占4个字节(如要声明一个常量为 float 型,则需在数字后面加 f 或 F)
double占8个字节(默认)
于在计算机中的计算方式不同,4字节的浮点大于4字节、8字节的整数
计算机中小数是以近似值方式存储的
进制表示
二进制:0b/0Bb开头
十进制:默认
八进制:0开头
十六进制:0x/0X开头
字符型
- char表示字符,占两个字节。用单引号括起来。
- char类型的数据可以参加运算。
计算机底层都是二进制,计算机要表示字符,只有根据人为定义设计的编码表,字符在不同的编码表中对 应不同的十进制数字最终在计算机中存储。不同的国家就定义自己国家的编码。中国的GBK
ASCII码:ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母 A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一 个字节的后面7位,最前面的1位统一规定为0。
Unicode码:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode
没有乱码的问题
utf-8:是一种可变长度的编码表。
布尔型
- boolean 类型适于逻辑运算,一般用于程序流程控制。
- boolean 类型数据只允许取值 true 或 false 。
- 注意:不可以0或非 0 的整数替代false和true,这点和C语言不同
引用数据类型
类
String str = “abc”;
接口
数组
数据类型转换
默认转换
整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:
byte,short,char->int->long->float->double
强制类型转换
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
运算符
算术运算符
+可用作:字符串连接 加号 正号
-可用作: 减号 负号
+ - * / % 运算的参数是:数值与数值(char)。
关系(比较)运算符
>, <, >=, <= 数值与数值(char)。
==, !=用于 基本类型数值之间的比较、引用类型与引用类型比较。
逻辑运算符
注: !(非),& (与), |(或) , &&(短路与),||(短路或),^(异或)
- 用两个数异或后的结果 与其中一个值进行异或操作 其值等于另一个值.
赋值运算符
注意 ” = “ 两边类型与值相匹配
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。
扩展赋值运算符: +=, -=, *=, /=, %=
虚拟机支持直接将int类型的数,赋值给byte和short。
s+=2
相当于 数据类型 s=(数据类型)s+2.
条件运算符(三目运算符)
- (条件表达式)? 表达式1:表达式2;
为true,运算后的结果是表达式1;
为false,运算后的结果是表达式2;
位运算符
用途:主要用来大量减少运行开销,优化算法。
表达式的运算顺序
控制语句
控制台输入
在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。
Scanner的next()方法用以 取得用户输入的字符串;
nextInt()将取得的输入字符串转换为整数类型;
nextFloat()转换成浮点型;nextBoolean()转 换成布尔型
*Scanner sc = new Scanner(System.in);0fsfsdf放暑假开始
条件语句
1.if(条件表达式){ 语句块 }
2.if(条件表达式){ 语句块 } else { 语句块 }
3.if(条件表达式){ 语句块 }else if(){ 语句块 }…else{ 语句块 }
4.switch(表达式){
case value1: 语句序列1;[break];
…………
case valueN: 语句序列N; [break];
[default : 缺省语句;]
}
表达式可以是byte、short、int、char、string、枚举类型。
value 不能重复。
某个case分支如果没有提供break语句,则继续执行下一个case后的语句;
当表达式的值与任一value都不匹配时,将执行default后面的语句;若无default子句,则直接跳出switch语句。
如果判断的具体数值不多,而且符合byte、 short 、int、 char这四种类型。虽然两个语句都可 以使用,建议 使用swtich语句。因为效率稍高。
循环
组成:循环变量的初始化、循环条件部分 、循环体部分 、循环变量的更新
break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;
可以设置循环名即标签(循环名:)可以直接(break+标签名)跳出循环。
continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程
1.while(条件表达式){ 语句块 }
- while()主要用于循环次数明确的情况下。
先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止
2.do{ 语句块 }while(条件表达式)
先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环。shengming
3.for(表达式1; 表达式2; 表达式3){ 语句; … ; }
- for()主要用于循环次数明确的情况下。
首先计算表达式1,接着执行表达式2,若表达式2的值 = true,则执行循环语句, 接着计算表达式3,再判断 表达式2的值;依此重复下去,直到表达式2的值=false.
方法
1.Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含于类或对象中.
2.声明方法的格式:
[访问权限修饰符 修饰符…] [返回值类型] 方法名 (形式参数类型 参数名) {
Java语句;… … …
[return 返回值;]
}
**修饰符:**这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
形数: 在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
3.方法的调用
Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
Java语句;… … …
[return 返回值;]
}
**修饰符:**这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
形数: 在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
3.方法的调用
Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
return 语句会终止方法的运行,并指定要返回的数据
javaSE探赜索隐之二<第二篇博客,磕磕绊绊,收货满满!加油>相关推荐
- 如果你需要用Python搞个二维码,那应该收藏这篇博客
文章目录 ⛳️ 交代背景 ⛳️ pyqrcode 实现二维码 ⛳️ qrcode 实现二维码 ⛳️ MyQR 实现二维码 ⛳️ Amazing-QR 实现二维码 ⛳️ 交代背景 作为一名合格的 Pyt ...
- 接第一篇博客:fw的第二场CTF——HECTF2021 WP
第一篇博客,第一次参加比赛https://blog.csdn.net/qq_42880719/article/details/110139040就是HECTF 所以这HECTF我非打不可了 想当年,刚 ...
- csapp实验摘选 I Data Lab ——小小菜下士的第一篇博客
csapp实验摘选 I Data Lab --小小菜下士的第一篇博客 注:这是我的第一篇博客,试图在通往程序猿的路上踏出坚实的一步. --小小菜下士 实验来自: [读厚 CSAPP]I Data La ...
- C博客作业00--我的第一篇博客
这个作业属于哪个班级 C语言–网络2011/2012 这个作业的地址 C博客作业00–我的第一篇博客 这个作业的目标 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记. ...
- 第三百篇博客:写给自己的总结
文章目录 返航 我的中考和高考 初入大学的迷茫与思考 人生第一个Hello World! 第一次尝试找实习 加入工作室 对技术的反思 第一次做外包项目 脱单纪念日 准备春招 人生第一个Offer 惨败 ...
- 林大计算机学子第一篇博客
林大计算机学子第一篇博客 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下 ...
- 我的第一篇博客:Python爬取新浪财经股票页面 并用matplotlib可视化输出结果
(由于疫情在家闲着,开学至少得等到四月份,便在上个星期动起了学习python的念头,凭借着大一C语言微薄的基础草草学习语法后便开始了学写爬虫.跟着教学视频爬了几个静态网站后便开始尝试爬动态网站,同时也 ...
- [入门篇]用史上最生动的方式让你一篇博客搞懂Linux进程地址空间,包看包懂!
目录 0.前言 1.初始程序的地址空间划分 1.1程序地址空间图解 1.2程序地址空间区域划分验证 1.3 程序地址空间小补充 1.4 引入进程地址空间 *2. 两个生动的例子理解进程地址空间 2.1 ...
- Flutter基础篇(2)-- 老司机用一篇博客带你快速熟悉Dart语法
版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/3d927a7bf020 转载请标明出处: https://www.jianshu.com/p/ ...
最新文章
- FreeType简介及在vs2010的编译使用
- Manning、Ostendorf、Povey、何晓冬、周明共话多模态NLP的机遇和挑战(附视频)
- Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
- 网络基础相关知识内容
- Introduction to the Trusted Services Project
- Java的List遍历
- Spring mvc HTTP协议之缓存机制
- python可视化神器_详解Python可视化神器Yellowbrick使用
- 三分钟看懂一致性哈希算法
- DB2中select top 用法
- 早起 - 对我影响最大的习惯
- 计算机网络 间接路由选择与直接路由选择
- python没有main函数的概念吗_为什么Python没有main函数?
- 学习杂谈:费曼学习法和show me the code
- RapidXML的读写
- C语言排序函数qsort用法
- 使用Excel拼接SQL语句
- stn在mnist上的实现
- 记录自己在pyqt5用电脑摄像头拍照并保存照片过程中发现的问题
- html编写花,HTML5的花儿
热门文章
- vs c语言打印心形情书,最美C语言情书(输出心形图案).doc
- Internal error. Please report to https://code.google.com/p/android/issues
- hive以半小时为维度进行统计的需求
- java获取经纬度_java调用高德地图api获取某个位置的经纬度
- 隐私全没了?30亿条个人信息被盗,BAT等96家公司全部中招
- 没错,Linux需要更多的憎恨者
- 电脑上一键从视频提取音频,windows电脑和mac电脑都可以用
- Android模拟器实现windows虚拟串口通信调试
- 老毛桃U盘快速安装ghost win7系统图文教程
- 【猪八戒】- 2017年在线笔试“叠字问题”