**JAVA入门基础2**(系列更新)———JAVA 基础变量
**JAVA入门基础2**(系列更新)———JAVA 基础变量
- Java基础
- 1.注释
- 2.标识符和关键字
- 2.1 标识符
- 2.2 关键字(keyword)
- 3.数据类型
- 3.1 基本数据类型
- 3.2 引用数据类型
- 3.3数据类型转换
- 3.3.1简单数据类型转换
- 3.3.2字符串类型与其它数据类型的转换
- 3.3.3将字符型直接作为数值转换为其他数据类型
- 4.Scanner类
- 5.简单的helloworld程序
**JAVA入门基础2**(系列更新)———JAVA 基础变量
- Java基础
- 1.注释
- 2.标识符和关键字
- 2.1 标识符
- 2.2 关键字(keyword)
- 3.数据类型
- 3.1 基本数据类型
- 3.2 引用数据类型
- 3.3数据类型转换
- 3.3.1简单数据类型转换
- 3.3.2字符串类型与其它数据类型的转换
- 3.3.3将字符型直接作为数值转换为其他数据类型
- 4.Scanner类
- 5.简单的helloworld程序
Java基础
1.注释
出现在源程序中对代码进行解释说明,增强代码可读性。不会被编译到.class字节码文件中
单行注释
//System.out.println("helloWorld");
多行注释
/* 要注释的内容 */
/*System.out.println("helloWorld");
System.out.println(1);*/
IDEA ctrl + /
文档DOC注释
比较专业的注释,javadoc工具自动解析提取出这种方式注释的内容生成帮助文档。
/**hello* world!*/
2.标识符和关键字
2.1 标识符
Java语言中对于变量、常量、方法和类等要素命名时使用的字符序列统称为标识符.
标识符命名规则
- 标识符由字母、下划线、美元符号或数字组成且不能由数字开头
- 标识符大小写敏感(如name和Name是两个不同的标识符)
- 不能使用关键字作为变量名或方法名
注意:标识符选取尽量“见名知意”。
例:姓名尽量选择类似name而不是a、b
驼峰命名法则
当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:firstName、lastName,这样的变量名看上去就像骆驼峰一样此起彼伏.
2.2 关键字(keyword)
Java中事先定义的、赋予特定含义的字符串,有时又叫保留字。所有Java关键字都是小写英文。
java关键字
其中goto和const从未使用,但也被Java作为关键字保留。
3.数据类型
Java 语言的数据类型分为两种:基本数据类型和引用数据类型。
3.1 基本数据类型
整数型:byte、short、int、long
字节型(byte)
byte 类型是最小的整数类型。当用户从网络或文件中处理数据流时,或者处理可能与 Java 的其他内置类型不直接兼容的未加工的二进制数据时,该类型非常有用。
短整型(short)
short 类型限制数据的存储为先高字节,后低字节,这样在某些机器中会出错,因此该类型很少被使用。
整型(int)
int 类型是最常使用的一种整数类型,32位内存,能表示的范围 -2** 31 ~ 2**31-1。
长整型(long)
对于大型程序常会遇到很大的整数,当超出 int 类型所表示的范围时就要使用 long 类型
浮点类型:float、double
单精度浮点型(float)
占用 4 字节的内存空间aaaa
双精度浮点型(double)
占用 8 字节的内存空间,比单精度类型 float 具有更高的精度和更大的表示范围。
Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。
布尔类型:boolean
用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。
在 Java 语言中,布尔类型的值不能转换成任何数据类型,true 常量不等于 1,而 false 常量也不等于 0。这两个值只能赋给声明为 boolean 类型的变量,或者用于布尔运算表达式中。
字符类型:char
使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值。
3.2 引用数据类型
- 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时候被指定为一个特定的类型,声明之后不能改变。
- 引用数据类型包括:类(对象)、接口、数组。
- 所有引用类型默认值都是null.
- 一个引用变量可以用于引用任何与之兼容的类型。
引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。
数据类型 变量名 = new 数据类型();
每种引用数据类型都有其功能,我们可以调用该类型实例的功能。
变量名.方法名();
3.3数据类型转换
3.3.1简单数据类型转换
1)自动类型转换
低级变量可以直接转换为高级变量。
简单数据类型由低级到高级分别为(byte,short,char)—int—long—float—double
byte b;int i=b;long l=b;float f= b;double d = b;
如果低级类型为char时,向高级转换的时候会转换为对应的ASCII码值。
char c='c';
int i=c;
System.out.println(i);
输出:99
对于byte、short、char三种类型,他们的级别是相同的,不能相互之间自动转换,可以使用下述强制类型转换:
short s = 99;
byte b = (byte)s;
2)强制类型转换
将高级变量转换成低级变量,需要强制类型转换。如:
int i = 99;
byte b = (byte)i;
char c = (char)i;
这种转换可能存在隐患,导致溢出或者精度下降。
3)包装类过渡类型转换
Java的包装类型对应于其基本类型一共有八类,分别为:Boolean、Byte、Short、Character、Integer、Long、Float、Double。
在进行简单数据转换的时候,可以利用包装类型进行中间过渡。例:
short s = 99;
// byte b = s;Short s1 = s;byte b = s1.byteValue();
java的包装类型中,数值类型提供了除Character和Boolean之外的其他所有六种基本类型的转换,因此通过包装类型进行转换亦是一种有效手段。
3.3.2字符串类型与其它数据类型的转换
1、将基本数据类型与空字符串(" ")连接(+)即可获得其所对应的字符串
2、调用String 类中的valueOf()方法返回相应字符串
3、使用包装类的toString()方法。几乎从java.lang.Object派生出来的所有类型都提供了toString()方法,对于上述八种过渡类型也不例外。
Integer b = 21;
System.out.println(b.toString());
1、调用基本数据类型对应的包装类中的方法parseXXX(String)
2、对应包装类型的valueOf(String)
Integer i = Integer.parseInt("123");
Integer j = Integer.valueOf("234");
3.3.3将字符型直接作为数值转换为其他数据类型
将字符类型直接转换为其他类型实际上有两种对应关系:一种是将其转换成对应的ASCII码值、一种是转换关系,例如‘1’就是数值1,而不是ASCII码值,对于这种转换,可以使用Character的getNumericValue(char c)方法。
char a = '9';
System.out.println(Character.getNumericValue(a));
输出:9
4.Scanner类
属于引用类型,使用该类来完成用户键盘录入,获取到录入的数据。
使用步骤
导包:import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:
int i = sc.nextInt(); 用来接收控制台录入的数字
next()和nextLine()用来接收控制台录入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据.
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之间遇到的空格,next()方法自动将其去掉
- 只有输入有效字符后,才将其后面输入的空白作为分隔符或结束符
- next()不能得到带有空格的字符
nextLine():
- 以Enter(回车键)为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空格
5.简单的helloworld程序
public class HelloWorld {//public表示访问控制中的公开,class是定义一个类,HelloWorld表示一个类名/***public 公开的 *static 静态 *main是方法名*String[] args是main方法的形式参数列表*是一个程序的执行入口*/public static void main(String[] args) {System.out.println("Hello world!");//标准输出,打印到控制台。}
}
1.编写程序,使用三条输出语句分别显示"Welcome to java" 、“Welcome to computer science,”、“programming is fun”,使输出为如下形式
public class Helloworld {public static void main(String[] args) {System.out.println("Hello World");//println会自动换行System.out.println("Welcome to java");System.out.println("Welcome to computer science");System.out.println("programming is fun");//使用快捷键CRTL+D加快速度}}
> Welcome to java
> Welcome to computer science,programming is fun
2.找到最大和最小的byte short int long float double。 这些数据类型种哪个需要的内存最小?
这里的话可以使用java中的
.size(位数)
.BYTES(字节数)
顺带一提MIN_VALUE(定义最小值)
.MAX_VALUE(定义最大值)
Java API 中查阅得,Byte是类,byte是基本数据类型,准确来说Byte是byte的封装类
所以在使用时sout应该是Byte.BYTES
应是类的方法名,不应是数据类型直接加.BYTES (byte.BYTES)
几大属性名输出实现 :代码如下
public class 类型字节测试程序 {
public static void main(String[] args) {System.out.println(Byte.BYTES);System.out.println(Short.BYTES);System.out.println(Integer.BYTES);System.out.println(Long.BYTES);System.out.println(Float.BYTES);System.out.println(Double.BYTES);}
得出输出结果:
1
2
4
8
4
8
由此可见占用字节数最大的是double & long
由此可见/占用字节数最小的是byte
public class 类型字节测试程序 {public static void main(String[] args) {System.out.println (new StringBuilder ().append ("Byte-->>").append ("字节数:").append (Byte.BYTES).append (";位数:").append (Byte.SIZE).append ("; 最小值-->最大值:").append (Byte.MIN_VALUE).append ("-->").append (Byte.MAX_VALUE));System.out.println (new StringBuilder ().append ("Short-->>").append ("字节数:").append (Short.BYTES).append (";位数:").append (Short.SIZE).append ("; 最小值-->最大值:").append (Short.MIN_VALUE).append ("-->").append (Short.MAX_VALUE));System.out.println (new StringBuilder ().append ("Integer-->>").append ("字节数:").append (Integer.BYTES).append (";位数:").append (Integer.SIZE).append ("; 最小值-->最大值:").append (Integer.MIN_VALUE).append ("-->").append (Integer.MAX_VALUE));System.out.println (new StringBuilder ().append ("Long-->>").append ("字节数:").append (Long.BYTES).append (";位数:").append (Long.SIZE).append ("; 最小值-->最大值:").append (Long.MIN_VALUE).append ("-->").append (Long.MAX_VALUE));System.out.println (new StringBuilder ().append ("Float-->>").append ("字节数:").append (Float.BYTES).append (";位数:").append (Float.SIZE).append ("; 最小值-->最大值:").append (Float.MIN_VALUE).append ("-->").append (Float.MAX_VALUE));System.out.println (new StringBuilder ().append ("Double-->>").append ("字节数:").append (Double.BYTES).append (";位数:").append (Double.SIZE).append ("; 最小值-->最大值:").append (Double.MIN_VALUE).append ("-->").append (Double.MAX_VALUE));System.out.println (new StringBuilder ().append ("Character-->>").append ("字节数:").append (Character.BYTES).append (";位数:").append (Character.SIZE).append ("; 最小值-->最大值:").append ((int)Character.MIN_VALUE).append ("-->").append ((int)Character.MAX_VALUE));
}
}
####Byte-->>字节数:1;位数:8; 最小值-->最大值:-128-->127
####Short-->>字节数:2;位数:16; 最小值-->最大值:-32768-->32767
####Integer-->>字节数:4;位数:32; 最小值-->最大值:-2147483648-->2147483647
####Long-->>字节数:8;位数:64; 最小值-->最大值:-9223372036854775808-->9223372036854775807
####Float-->>字节数:4;位数:32; 最小值-->最大值:1.4E-45-->3.4028235E38
####Double-->>字节数:8;位数:64; 最小值-->最大值:4.9E-324-->1.7976931348623157E308
####Character-->>字节数:2;位数:16; 最小值-->最大值:0-->65535
3.编写程序,输入一个姓名,输出hello ,XXX
import java.util.Scanner;public class 输入输出 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String i =sc.next();System.out.println("hello ,"+i);}
}
例:
name:Zhang San
hello,Zhang San
4.找出无效标识符并解释原因。
- RESULT-----------------------有效
- result-------------------------无效,不能由数字开头
- x12345y---------------------有效
- black&white-------------------无效,标识符由字母、下划线、美元符号或数字组成
- answer_-------------------有效
- while----------------------无效,关键字
- $4---------------------------有效
标识符命名规则
- 标识符由字母、下划线、美元符号或数字组成且不能由数字开头
- 标识符大小写敏感(如name和Name是两个不同的标识符)
- 不能使用关键字作为变量名或方法名
5.学习使用数据类型。声明一些有关个人信息的变量,包括姓、名、年龄、住址等信息。
public class 数据类型 {public static void main(String[] args) {int age;
String name;
String address;
short nianling;}
}
6.写出以下每步操作对应的语句
- 声明一个字节型变量100
- 转换成字符串类型
- 将字符串类型转换为整型
- 得到的整型转换为双精度浮点型
下面展示一些 内联代码片
。
public class 类型转换 {public static void main(String[] args) {byte i =100;
String a=String.valueOf(i);
Integer b = Integer.parseInt(a);
Double c = Double.valueOf(b);
System.out.println(c+"");
}
}
**JAVA入门基础2**(系列更新)———JAVA 基础变量相关推荐
- java is setter_Java GetterSetter 系列之一:基础
Getter和Setter方法在Java中广泛使用,看似简单,但不是所有人都能正确理解并实现这种方法.所以在本文中,我将深入探讨Java中的Getter和Setter方法--从基础到常见错误,再到最佳 ...
- Java高级工程师必看系列,从基础到源码统统帮你搞定
1.Java基础 Java基础务必要有一个非常牢固的根基,尤其是对于JVM和并发编程的掌握情况**(属于进阶内容,但也是Java最为重要的基础内容)**,不论是面试还是工作,基础不好,写不出高质量.漂 ...
- 出于对Java入门学习的考虑从Java基础出发
看到过无数套毫无用处的Java路线图,到现在为止还在云端飘着,对于Java小白来说就像天书一般,Java大神看了以后感觉云山雾绕不知道讲什么东西,动力节点Java学院作为Java业界标杆深意为耻,于是 ...
- Java入门学习笔记[狂神说Java]
写在前面: 本文根据B站狂神说Java 与菜鸟教程 整理而来,仅供个人学习使用,如有侵权,请联系删除. 文章目录 IDEA使用 Java基础01:注释 Java基础02:数据类型 Java基础03:类 ...
- 最详细的Java入门完整教程,学Java先收藏了
从 1995 年第一个版本发布到现在,Java 语言已经在跌宕起伏中走过了 26 年,最新的 Java 版本也已经迭代到 Java 16. java是有一个庞大的生态系统,它的覆盖范围非常广,而且已经 ...
- java入门教程:如何用java编写一款王者荣耀游戏?
Java是一种编程语言,被特意设计用于互联网的分布式环境.Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为 ...
- java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口
今天要说的是Collection族长下的三名大将之一,List,Set,Queue中的List,它们都继承自Collection接口,所以Collection接口的所有操作,它们自然也是有的. Lis ...
- Java入门-学习黑马程序员Java基础视频教程(到P92)
目录 P0:写在前面的小知识 P3:Java环境搭建: JDK安装.常用命令 P4:入门程序HelloWorld P7:补充知识:JDK组成.跨平台原理 P8:补充知识:JDK安装后Path和JAVA ...
- Java入门教程笔记07(面向对象基础)
目录 构造器(构造方法) 目的: 作用: 构造器的分类 注意事项 this关键字 案例 封装: 封装的实现步骤 案例 JavaBean(实体类) 标准JavaBean须满足如下要求: 成员变量和局部变 ...
- Java项目框架搭建系列(Java学习路线)-博客提纲 (转自一位技术大佬)
前言: 已经毕业两年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...
最新文章
- MySQL共有data和redo的后果
- mysql 快速生成百万条测试数据
- 皮一皮:据说这句话高情商的人说起来不一样...
- python中统计单词出现的次数_python统计文章中单词出现次数实例
- 反射机制2,Class类的使用
- tokumx经营报表
- 监听滚动条和浏览器大小变化
- 官宣!CSDN 发布 C 站软件工程师能力认证
- 【李宏毅2020 ML/DL】P60-61 Unsupervised Learning - Deep Generative Model
- 运用集合把文字写入读出文件
- Face3D学习笔记(6)3DMM示例源码解析【下】从二维图片的特征点重建三维模型
- C#毕业设计——基于C#+asp.net+SQL server的客户关系管理系统设计与实现(毕业论文+程序源码)——客户关系管理系统
- 分享几个国外模板网站(网页素材的下载)
- Word导出PDF出现空白页
- 电脑ping手机查看ARP抓包
- ES选举:Elasticsearch中Master选举完全解读
- Fedora9的虚拟机安装
- 使用tkinter canvas绘制中国象棋棋盘
- Win10怎么安装Apache服务
- Selenium学习 - 简介
热门文章
- 倍福--控制器添加路由
- 四十二天学会英语的模范短文
- ‘\r‘: command not found 解决办法
- Y410P用虚拟机装Linux系统,OK6410、Linux2.6.36内核移植,DM9000 驱动移植
- 51单片机自动浇水系统/51单片机自动浇花系统/智能浇水系统
- 中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载
- 重磅!「自然语言处理(NLP)」全球学术界”巨佬“信息大盘点(三)!
- Java基础(集合框架——Collection、List、Set、泛型)
- 枪王吃鸡争夺战html5游戏在线玩,枪王吃鸡争夺战
- AE学习笔记(2):关键帧动画与技法