**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程序
Tue 2606:0012:0006:00Wed 2706:0012:0006:00Thu 28已完成 day2 基础量 进行中 day1blog撰写 计划中 day3 进军算法 现有任务GANTT diagram functionality to JAVA basical learning

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():

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之间遇到的空格,next()方法自动将其去掉
  3. 只有输入有效字符后,才将其后面输入的空白作为分隔符或结束符
  4. next()不能得到带有空格的字符

nextLine():

  1. 以Enter(回车键)为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空格

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.找出无效标识符并解释原因。

  1. RESULT-----------------------有效
  2. result-------------------------无效,不能由数字开头
  3. x12345y---------------------有效
  4. black&white-------------------无效,标识符由字母、下划线、美元符号或数字组成
  5. answer_-------------------有效
  6. while----------------------无效,关键字
  7. $4---------------------------有效

标识符命名规则

  • 标识符由字母、下划线、美元符号或数字组成且不能由数字开头
  • 标识符大小写敏感(如name和Name是两个不同的标识符)
  • 不能使用关键字作为变量名或方法名

5.学习使用数据类型。声明一些有关个人信息的变量,包括姓、名、年龄、住址等信息。

public class 数据类型 {public static void main(String[] args) {int age;
String name;
String address;
short nianling;}
}

6.写出以下每步操作对应的语句

  1. 声明一个字节型变量100
  2. 转换成字符串类型
  3. 将字符串类型转换为整型
  4. 得到的整型转换为双精度浮点型

下面展示一些 内联代码片

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 基础变量相关推荐

  1. java is setter_Java GetterSetter 系列之一:基础

    Getter和Setter方法在Java中广泛使用,看似简单,但不是所有人都能正确理解并实现这种方法.所以在本文中,我将深入探讨Java中的Getter和Setter方法--从基础到常见错误,再到最佳 ...

  2. Java高级工程师必看系列,从基础到源码统统帮你搞定

    1.Java基础 Java基础务必要有一个非常牢固的根基,尤其是对于JVM和并发编程的掌握情况**(属于进阶内容,但也是Java最为重要的基础内容)**,不论是面试还是工作,基础不好,写不出高质量.漂 ...

  3. 出于对Java入门学习的考虑从Java基础出发

    看到过无数套毫无用处的Java路线图,到现在为止还在云端飘着,对于Java小白来说就像天书一般,Java大神看了以后感觉云山雾绕不知道讲什么东西,动力节点Java学院作为Java业界标杆深意为耻,于是 ...

  4. Java入门学习笔记[狂神说Java]

    写在前面: 本文根据B站狂神说Java 与菜鸟教程 整理而来,仅供个人学习使用,如有侵权,请联系删除. 文章目录 IDEA使用 Java基础01:注释 Java基础02:数据类型 Java基础03:类 ...

  5. 最详细的Java入门完整教程,学Java先收藏了

    从 1995 年第一个版本发布到现在,Java 语言已经在跌宕起伏中走过了 26 年,最新的 Java 版本也已经迭代到 Java 16. java是有一个庞大的生态系统,它的覆盖范围非常广,而且已经 ...

  6. java入门教程:如何用java编写一款王者荣耀游戏?

    Java是一种编程语言,被特意设计用于互联网的分布式环境.Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为 ...

  7. java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口

    今天要说的是Collection族长下的三名大将之一,List,Set,Queue中的List,它们都继承自Collection接口,所以Collection接口的所有操作,它们自然也是有的. Lis ...

  8. Java入门-学习黑马程序员Java基础视频教程(到P92)

    目录 P0:写在前面的小知识 P3:Java环境搭建: JDK安装.常用命令 P4:入门程序HelloWorld P7:补充知识:JDK组成.跨平台原理 P8:补充知识:JDK安装后Path和JAVA ...

  9. Java入门教程笔记07(面向对象基础)

    目录 构造器(构造方法) 目的: 作用: 构造器的分类 注意事项 this关键字 案例 封装: 封装的实现步骤 案例 JavaBean(实体类) 标准JavaBean须满足如下要求: 成员变量和局部变 ...

  10. Java项目框架搭建系列(Java学习路线)-博客提纲 (转自一位技术大佬)

    前言: 已经毕业两年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...

最新文章

  1. MySQL共有data和redo的后果
  2. mysql 快速生成百万条测试数据
  3. 皮一皮:据说这句话高情商的人说起来不一样...
  4. python中统计单词出现的次数_python统计文章中单词出现次数实例
  5. 反射机制2,Class类的使用
  6. tokumx经营报表
  7. 监听滚动条和浏览器大小变化
  8. 官宣!CSDN 发布 C 站软件工程师能力认证
  9. 【李宏毅2020 ML/DL】P60-61 Unsupervised Learning - Deep Generative Model
  10. 运用集合把文字写入读出文件
  11. Face3D学习笔记(6)3DMM示例源码解析【下】从二维图片的特征点重建三维模型
  12. C#毕业设计——基于C#+asp.net+SQL server的客户关系管理系统设计与实现(毕业论文+程序源码)——客户关系管理系统
  13. 分享几个国外模板网站(网页素材的下载)
  14. Word导出PDF出现空白页
  15. 电脑ping手机查看ARP抓包
  16. ES选举:Elasticsearch中Master选举完全解读
  17. Fedora9的虚拟机安装
  18. 使用tkinter canvas绘制中国象棋棋盘
  19. Win10怎么安装Apache服务
  20. Selenium学习 - 简介

热门文章

  1. 倍福--控制器添加路由
  2. 四十二天学会英语的模范短文
  3. ‘\r‘: command not found 解决办法
  4. Y410P用虚拟机装Linux系统,OK6410、Linux2.6.36内核移植,DM9000 驱动移植
  5. 51单片机自动浇水系统/51单片机自动浇花系统/智能浇水系统
  6. 中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载
  7. 重磅!「自然语言处理(NLP)」全球学术界”巨佬“信息大盘点(三)!
  8. Java基础(集合框架——Collection、List、Set、泛型)
  9. 枪王吃鸡争夺战html5游戏在线玩,枪王吃鸡争夺战
  10. AE学习笔记(2):关键帧动画与技法