首页 > 编程语言 > 详细

java基础01

时间:2021-04-26 22:53:38      阅读:19      评论:0      收藏:0      [点我收藏+]

java基础

编译与解释

java运行机制:编译型与解释型

运行机制

Java文件-->编译器(javac 命令)-->.class文件-->解释器(java 命令)

IDE : 集成开发环境

idea

新建类: java.class

快捷键:psvm

public static void main(String[] args) {
  }

sout=System.out.println

java基础语法

1、注释

单行注释 //单行注释

多行注释 /* */

/*
多行注释
*/

文档注释

/**

*/

2、标识符

  • 关键字

    技术分享图片

java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

  • 所有标识符都是以字母(A-Z)(a-z)、美元符$、下划线开头.

  • 首字母之后可以是字母(A-Z)(a-z)、美元符$、下划线或数字任何字符组合.

  • 不能使用关键字作为变量名或方法名。

  • 标识符是大小写敏感的

数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义在使用。

java数据类型分为两大类:

  • 基本类型(primitive type)

    • 数值类型

      1. 整数类型

        • byte占1个字节范围:-128-127

        • short占2个字节范围:-32768-32767

        • int 占4个字节范围

        • long占8个字节范围

      2. 浮点类型

        • float占4个字节

        • double占8个字节

      3. 字符类型

        • char 占2个字节

    • boolean类型:占一位 其值只有true和false两个

  • 引用类型(reference type)

    • 接口

    • 数组

  • String 不是关键字,是一个类

  //八大类型
  //整数类型
  byte num1=100;
  short num2=1000;
  int num3=199023893;
  long num4=1293923243243L; //long类型后面要加一个L
  //浮点型
    float num5=1.2f;   //float类型后面要加上f
    double num6=2.2432422252;
    //字符型
    char num8=‘a‘;
    String num9="SKDHSHFHAJDJAJDHA";
    //boolean型
    boolean flag=true;
    boolean flag2=false;

数据类型的扩展及面试题讲解

整数拓展

public class day01 {
   public static void main(String[] args) {
       //整数类型拓展   进制:   二进制   十进制   十六进制   八进制
       int i1=10;
       int i2=010;//八进制以0开头
       int i3=0x10;//十六进制以0x开头
       int i4=0x11;
       System.out.println("==================================================");
       System.out.println(i1);
       System.out.println(i2);
       System.out.println(i3);
       System.out.println(i4);
  }
}
输出结果:
==================================================
10
8
16
17
?
?

浮点型拓展

        System.out.println("==================================================");
       //浮点数拓展,银行的业务怎么表示----一般使用BigDecimal类(数学工具类)来表示银行业务
       float f1=0.1f;
       double f2=0.1;
       System.out.println(f1);
       System.out.println(f2);
       System.out.println(f1==f2);//输出结果为false,f1,f2并不相等。float类型有误差,只是接近不是相等
       System.out.println("===============");
       float f3=1232432423424f;
       float f4= f3 + 1;
       System.out.println(f3);
       System.out.println(f4);
       System.out.println(f3==f4);    
输出结果::
==================================================
0.1
0.1
false
===============
1.2324324E12
1.2324324E12
true
?
?

字符型拓展

        System.out.println("=======================");
       char c1=‘a‘;
       char c2=‘国‘;
       System.out.println(c1);
       System.out.println((int)c1);//强制转换
       System.out.println(c2);
       System.out.println((int)c2);//强制转换
       //所有字符的本质还是数字
       char c3=‘\u0061‘;
       System.out.println(c3);//a
       //转义字符
       //     /t 制表位
       //     /n   换行
       System.out.println("hello,\tworld");
       System.out.println("=============");
       System.out.println("hello,\nworld");
输出结果:
=======================
a
97

22269
a
hello, world
=============
hello,
world

布尔型

        //布尔型拓展
       boolean flag=true;
       if (flag==true){ }//相当与
       if (flag){}

类型转换

由于java是强类型语言,所以要及进行有些运算的时候,需要用到类型转换.

容量低---------------------------------->
byte,short,char,->int->long->float->double
   
运算中,不同类型的数据先转化为同一类型,然后进行运算.
   
public class day02 {
   public static void main(String[] args) {
       int a=128;
       byte b=(byte)a;//内存溢出
       
输出结果:
128
-128
     //强制转换 类型(变量名) 高----》低
     //自动转换 类型(变量名) 低----》高
       System.out.println(a);
       System.out.println(b);
      /*1、不能对boolean型值进行转换
      * 2、不能把对象类型转换为不相干的类型
      * 3、在容量由高到低要强制转换
      * 4、转换的时候可能存在内存溢出问题,或精度问题。
      * */
?
       System.out.println((int)23.6f);
       System.out.println((int)-1232.3);//精度问题
输出结果:
23
-1232
?
   
   
       //自动转换
       char c=‘a‘;
       int  d=c+1;
       System.out.println(d);
       System.out.println((char)d);
输出结果:
       98
       b
           
           
//操作数比较大的时候,注意溢出问题。
//jdk7新特性,数字之间可以用下划线分割;
       int n=20;
       int m=10_0000_0000;
       int s=n*m;
       long s1=n*m;//默认的是int,转换之前就已经溢出存在问题了.
       long s2=n*((long)m);
   
       System.out.println(n);
       System.out.println(m);
       System.out.println(s);//内存溢出
       System.out.println(s);
输出结果:
20
1000000000
-1474836480
-1474836480
20000000000



java基础01

原文:https://www.cnblogs.com/baoyunfei/p/14705146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!