31.【Java (基础入门操作-----数据类型)】(一)

简介: 31.【Java (基础入门操作-----数据类型)】
+关注继续查看

(一)、包装类

1.为什么要包装类?

(1).首先,Java语言是一个面向对象的语言但是Java中的基本数据类型却是不面向对象的,将每个基本数据类型设计一个对应的类进行代表,这种方式增强了Java面向对象的性质。

(2).其次,如果仅仅有基本数据类型,那么在实际使用时将存在很多的不便,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的,因为集合的容器要求元素是Object类型。而包装类型的存在使得向集合中传入数值成为可能,包装类的存在弥补了基本数据类型的不足

(3).此外,包装类还为基本类型添加了属性和方法,丰富了基本类型的操作。如当我们想知道int取值范围的最小值,我们需要通过运算,如下面所示,但是有了包装类,我们可以直接使用Integer.MAX_VALUE即可。

2.包装类的2种主要用途

1.java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型基本数据类型由于这样的特性,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,java提供了包装类。

作为 和基本数据类型对应的类, 包装类存在,方便涉及到对象的操作。

包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

3.为什么要保留基本数据类型?

我们都知道在Java语言中,用new关键字创建的对象是存储在堆里的,我们通过栈中的引用来使用这些对象,所以,对象本身来说是比较消耗资源的。对于经常用到的类型,如int等,如果我们每次使用这种变量的时候都需要new一个对象的话,就会比较笨重了。所以,Java提供了基本数据类型,这种数据的变量不需要使用new在堆上创建,而是直接在栈内存中存储,因此会更加高效

(二)、Java的基本格式:

固定格式:

public class 文件名 
{
    public static void main(String []avgs){
    }
    
};

(三)、Java的输入输出:

1.输出问题:

格式:         System.out.println();
代码展示:
public class one
{
    public static void main(String []avgs)      //切记是大写
    {
        int a=3;
        //系统 调用输出 调用打印
        System.out.println("通过电脑屏幕打印出来的数据为:\n");
        System.out.println(a);
}
}       //这里没有分号
效果展示:

image

2.输入问题

1.     引入工具包: import java.util.Scanner;
     2.     声明工具包:Scanner sc=new Scanner(System.in);
     
     3. ==========================================================
          使用工具包:  i=sc.nextInt();    //输入整形
    
          使用工具包      j=sc.nextFloat();   //输入浮点型
          
          使用工具包     k=sc.nextDouble();    /输入double型
          
          使用工具包    s=sc.next();        //输入字符串  String
        
        使用工具包     c=sc.next().charAt(0);      //输入字符char
    4.  以上方法遇到空格 制表符\t 回车.  这些符号后数据就不会被接受了.===================
        使用工具包    s=sc.nextLine()    //接受字符串
        
    6.  这个方法只有遇到回车才会结束
代码展示:
//    引入工具包
import java.util.Scanner;
public class one
{
        public static void main(String []avgs)
        {
            //声明工具包
            Scanner sc=new Scanner(System.in);
            
            System.out.println("请您输入您要输入一个整形的数据:");
            
            int i;
            //使用工具包
            i=sc.nextInt();        //仔细看  nextInt();
            
            System.out.println(i);
            
            float j;
            System.out.println("请您输入一个浮点型数据:\n");
            //使用工具包
            j=sc.nextFloat();      // 仔细看   nextFloat  
            
            System.out.println(j);
            
            double k;
            
            System.out.println("请输入一个double型的数据:\n");
            //使用工具包
            k=sc.nextDouble();
            
            System.out.println(k);
            
            System.out.println("请输入一个字符串:\n");
            
            String s;
            //使用工具包
            s=sc.next();
            
            System.out.println(s);
            
            System.out.println("请输入一个字符\n:");
            
            char c;
            //使用工具包
            c=sc.next().charAt(0);
            
            System.out.println(c);
            
        }
    
}
效果展示:

image

第一套体系:输入的时候用空格分开:

(因为第一个数据接受了 1和空格,那么内存里面还有一个2,所以自动分配给了第二个接收数据.)

image

第二套体系:

遇到空格不会停止,只有遇到回车的时候才有问题

image

两个体系混用的时候(空格)

image

两个体系混用,回车

image

(三)、运算符的规则:

小空间的转化成大空间的 比如说 1L的水到进4L杯子是可行的.

运算的取值大小:

bety<short<int<long<float<double

byte short char 在运算前首先要转换成int .

(四)、 + 起到链接字符串和运算的作用

代码展示:
public class one
{
    public static void main(String []avgs)
    {       
        System.out.println("123"+123);
        
        System.out.println(1+2+"黑马程序");
        
        System.out.println('a'+3);  
    }
}
效果展示:

image

(五)、逻辑运算符

1.逻辑或

|       一个为真全部为真

2.逻辑非

!     真为假,假为真.

3.逻辑且

&       一个为假全部为假

4.逻辑异或

^         两边一样为假  两边不一样为真                (民政局)

5.短路且

&&       一个为假全部为假         (区别在于只要第一个是个确定的,
                                                    第二个我可以不看)


相关文章
|
3月前
|
Java
31.【Java (基础入门操作-----数据类型)】(二)
31.【Java (基础入门操作-----数据类型)】
34 0
|
4月前
|
存储 算法 Java
吐血整理Java编程基础入门技术教程,免费送
吐血整理Java编程基础入门技术教程,免费送
25 0
|
11月前
|
存储 安全 Java
|
11月前
|
SQL Java 数据处理
Java 基础入门 | 第二十一章 Java stream操作
1、什么是stream流 stream,中文翻译是流的意思。那么是代码程序中的stream流呢?stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。stream流不是集合元素,它不是数据结构并不保
118 0
Java 基础入门 | 第二十一章 Java stream操作
|
11月前
|
Java
Java 基础入门 | 第二十章 Java Lambda 表达式
Lambda 表达式,Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。语法lambda 表达式的语法格式如下:(parameters) -
93 0
Java 基础入门 | 第二十章 Java Lambda 表达式
|
11月前
|
Java
|
11月前
|
缓存 安全 Java
Java 基础入门 | 第十八章 Java反射机制
反射基础Class类类加载反射的使用Class类对象的获取Constructor类及其用法Field类及其用法Method类及其用法反射机制执行的流程反射获取类实例反射获取方法调用 method.invoke() 方法反射调用流程小结JAVA反射机制是
157 0
Java 基础入门 | 第十八章 Java反射机制
|
11月前
|
XML JavaScript Java
Java 基础入门 | 第十七章 Java操作XML文件
目录前言dom4jdom4j概述dom4j的封装和优势面向接口编程支持多种解析机制下载和安装dom4jdom4j常用APIXML文档基本操作XML文档基本操作-DocumentXML文档基本操作-ElementXML文档基本操作-AttributeXML文档基本
222 0
Java 基础入门 | 第十七章 Java操作XML文件
|
11月前
|
网络协议 Java
Java 基础入门 | 第十六章 Java网络编程
目录网络相关概念网络协议网络编程TCP编程UDP编程URL编程网络相关概念什么是计算机网络局域网 城域网 广域网把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使
59 0
Java 基础入门 | 第十六章 Java网络编程
|
11月前
|
Java API
Java 基础入门 | 第十五章 Java多线程
目录线程的概念线程的使用线程的状态线程同步问题死锁和解决办法线程的概念什么是线程在一个程序中同时运行的多个独立流程,每一个独立的流程就是一个线程线程并发多个线程并发执行主线程 CPU 优先级 时间片 资源当
40 0
Java 基础入门 | 第十五章 Java多线程
推荐文章
更多