首页 > 编程语言 >javaSE初识

javaSE初识

时间:2024-09-09 13:24:40浏览次数:13  
标签:10 int System 初识 println javaSE public out

前端:微信客户端   网页三剑客【 HTML(素颜)、CSS(化妆)、JS(行为)】

 后端:服务器   帮你处理数据    Java C ++

测试     测开:开发一些测试工具

运维:保证你的产品时时刻刻安全运行

Java的祖师爷--詹姆斯*高斯林

Java的特点:一次编译,到处运行 跨平台的

HelloWorld

  • 新建 文本文档  重命名为xxxx.java    在记事本中编辑,得到源代码
  • 编译: cmd  >后写:javac xxxx.java      得到字节码文件(以.class为后缀)
  • >java
  • 得到运行结果

Java程序的运行:

  1. Javac编译器(Javac.exe)将源文件(.java)编译为字节码文件
  2. Java虚拟机运行.class文件

 JDK JRE JVM 三者之间的关系?

JRE(java运行时环境)

JDK(Java开发工具包)= JRE+ 开发工具集(比如:javac)   JRE = JVM + JavaSE标准类库

JVM(java虚拟机) 

初识Java简单语句和语法

main方法示例

public class Test{
    public static void main(String[] args){
        System.out.println("Hello,Java");
}
}
public class JJJ{
     /**
     这是一个main方法
     @param args 这是参数
     */
    //       类名->尽量采用大驼峰的形式 eg.MaxNum 两个单词的首字母大写
    //public修饰的类名一定要和文件名是一样的,并且只有一个

    //main
    //下面这两行代码是:方法/函数
    //            返回值 方法名     形参
    public static void main(String[] args) {
    //public:访问修饰限定符-》private protected
    //static:关键字 表示静态的
        System.out.println("hello");//sout
        //打印 并且换行      字符串

    }
}
//一个java文件当中,只有一个和当前文件名一样的类!!
//class JJJ {} 这种写法是可以的

Java程序的结构:

源文件{类{方法{语句}}}

 ​​​

 注释

//行注释      ctr+/

/**
 文档注释(帮你生成一个html文档)
 @author 作者
 @version 版本号
 */
//-d创建目录 
//-encoding UTF-8 -charset UTF-8 字符集修改为UTF-8

/*
块注释       快捷键 ctr+shift+/
 */  

标识符

在程序中由用户给类名、方法名或者变量所取的名字

【硬性规则】

数字 字母 下划线 美元符号$组成的

不能以数字开头,不能是关键字

【软性建议】

  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写后面每个单词的首字母大写(小驼峰)
  • 变量名:与方法名规则相同

数据类型与变量

基本数据类型 四类 整数 浮点 字符 布尔    八种 

可移植性

字节型 1字节 /   短整型  2字节/  整型 4字节  /长整型 8字节 /   单精度浮点数 4字节

双精度浮点数 8字节/ 字符型 2字节 / 布尔型  无明确规定

  • 整型和浮点型都是有符号的
  • 单位 bit -8->byte-1024->kb   mb  gb  tb pb   1024程序员节

字面常量

1.字符串常量

2.整形常量

3.浮点数常量

4.字符常量

5.布尔常量:只有两种true和false

6.空常量:null

变量

局部变量:定义在方法内部的变量  叫做局部变量

变量都是有类型的,a的类型-》  a的数据类型【int类型】,占用的空间是4个字节

int a = 10;

左值       右值 

在Java中 局部变量 一定要赋值,否则编译不通过,局部变量在使用的时候,一定要赋值的

整型变量 

以int为例

32个bit位,第一位是符号位(0 是正数  1是负数),剩下的31bit是数值位

0   111 1111 1111 1111 1111 1111 1111 1111  正数的最大值 2^31 -1

1   000 0000 0000 0000 0000 0000 0000 0000    负数的最小值 - 2^31

public class F {
    public static void main(String[] args) {
        long b = 10L;   //长整型  -2^63  -   (2^63)-1   在后面加一个L表示长整型
        System.out.println(Long.MAX_VALUE);//首字母大写对应的是包装类型
        System.out.println(Long.MIN_VALUE);

        short sh = 10;//短整型 2个字节 -2^15  - (2^15)-1
        System.out.println(Short.MAX_VALUE);//32767
        System.out.println(Short.MIN_VALUE);//-32768

        byte b1 = 10;//字节型  1个字节 -2^7 - (2^7)-1    -128 - 127
//注意范围
    }
}

浮点型变量

public class F {
    public static void main(String[] args) {
        double d = 12.5;//8个字节
        System.out.println(d);
        System.out.println(Double.MAX_VALUE);
        int a = 1;
        int b = 2;
        System.out.println(a / b);// 执行结果 0
        //从数学上来说,就是0.5  但是此时在程序上说不能够保存小数

        //精确到小数点后xxxx位
        double num = 1.1;
        System.out.println(num * num);

        float f = 12.5f;//后加f表示单精度的浮点类型   4个字节
        System.out.println(f);

    }
}

在java中,小数点后不加f,认为是double类型的数据

字符型变量

public class F {
    public static void main(String[] args) {
        //没有负数的
       char ch = 'A';//2个字节,这个是和C有区别的      0 - 2^16 -1
        System.out.println(ch);
        char ch2 = '高';//一个汉字是两个字节
        // 计算机中字符的本质上是一个整数
        // 在C语言中使用ASCII表示字符,而Java中使用Unicode表示字符。
        // 因此一个字符占用两个字节,表示字符的种类更多,包括中文
        //char的包装类型为 Character
    }
}

char ch = '呵'; 
System.out.println(ch);
执行 javac 的时候可能出现以下错误 : Test.java:3: 错误: 未结束的字符文字             char ch = '鍛?';                            ^ 此时我们在执行 javac 时加上 -encoding UTF-8 选项即可

布尔型变量

public class F {
    public static void main(String[] args) {
        //0是假,非0是真  但是Java中 真假 只有true 和 false
      boolean flg = true;
        System.out.println(flg);
        //不能和任何类型进行转换!
        //没有明确规定占几个字节
        //包装类型为 Boolean
    }
}

 总结:

都有包装类型  除 int 是Integer     char是Character

都是首字母大写

类型转换

public class F {
    public static void main(String[] args) {
       int a = 10;
       long b = 100L;
       //a = b;//不可以赋值8个给4个字节
        a = (int)b;//强制类型转换!!!
        //我对此次强制负责 ,如果丢失数据认可!
        b = a;//隐式类型转换
        //代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。
        //数据范围小的转为数据范围大的时会自动进行


        //byte c = 256;  报错
        byte c2 = 127;
        //Java当中 对于字面值的直接赋值 是允许的,前提是没有超过表示范围
        //但是当超过表示范围之后,就会检查

    }
}

注意事项
1.不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型

2.如果需要把范围大的类型赋值给范围小的,需要强制类型转换,但是可能精度丢失

3.将一个字面值常量进行赋值的时候,Java会自动针对数字范围进行检查

4.强制类型转换不一定能成功,不相干的类型不能互相转换

类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的
1.不同类型的数据混合运算,范围小的会提升成范围大的.
2.对于short, byte这种比4个字节小的类型,会先提升成4个字节的int,再运算.

public class F {
    public static void main(String[] args) {
       int a = 10;
       long b = 20;
       int c = (int)(a+b);//等号的右边是long类型 左边是int类型  会丢失数据
       long d = a+b;//正确的写法

        //小于4个字节的内容,会提升为int参与运算
        byte b1 = 125;
        byte b2 = 123;
        byte b3 = (byte)(b1+b2);//结果为-8
        System.out.println(b3);

        int b4 = b1  + b2;
        System.out.println(b4);//正确写法



    }
}

字符串类型

public class F {
    public static void main(String[] args) {
      //在c语言当中   有没有字符串这种数据类型??无
        /*char *p = "123";
        char[] arr = "fdfa";
         */
        String str = "hello";//双引号当中 包含若干的字符
        //属于数据结构中的引用数据类型  无包装类
        //包装类只是 针对基本数据类型 对应的类类型
        System.out.println(str);

        //整数转字符串
        int a = 100;
        //调用String这个类型的方法
        String s1 = String.valueOf(a);
        System.out.println(s1);

        String s2 = a + "hellox";//此时这个加号就是拼接的意思
        System.out.println(s2);

        //注意区别
        String s3 = 10 + 20 + "x";//结果为30x
        String s4 = "x" + 10 +20;//结果为x1020

        //字符串转整数
        String str3 = "10009";
        //调用Integer 的方法 来实现转换
        int ret = Integer.valueOf(str3);
        System.out.println( ret +1);

        int ret2 = Integer.parseInt(str3);
        System.out.println( ret2 +1);




    }
}

总结:Java在此处与C语言的区别

1.字节大小

2.有包装类的概念

3.有字符串类型

4.特殊的类型需要注意 布尔类型 char

运算符

算术运算符

public class F {
    public static void main(String[] args) {
        System.out.println(5/2);//2
        System.out.println((float)5/2);//2.5
        System.out.println(5/(float)2);//2.5
        System.out.println((float)(5/2));//2.0
        //被除数与除数有一个浮点数,结果为浮点数
        //除数不能为0   否则会算术异常

        //取余
        System.out.println(10%3);//1
        //负数求余数
        System.out.println(10%-3);//1      -3

标签:10,int,System,初识,println,javaSE,public,out
From: https://blog.csdn.net/2301_80174936/article/details/141587522

相关文章

  • javase复习day18API
    游戏打包exeMathabs方法的小bug:以int类型为例,取值范围:-2147483648~2147483647如果没有正数与之对应,那么传递负数结果有误-2147483648没有正数对应则结果还是 -2147483648可以使用JDK15后的新方法absExact如果结果有误则会报错packageMathDemo1;publiccla......
  • C语言程序设计(初识C语言后部分)
    不要重来,不要白来,不要重来。5.指针和数组数组:一组相同类型元素的集合指针变量:是一个变量,存放的地址要理解数组名大部分情况下是数组的首元素地址6.二级指针先了解一级指针变量二级指针变量(二级指针变量是用来存放一级指针变量的地址的)7.指针数组指针数组是......
  • 初识IO模型,简单了解几种常见的IO模型
    什么是IO?简单来讲,就是输入和输出从计算机结构分析:从计算机结构来看,输入输出是一个重要的子系统,负责管理计算机与外部设备之间的数据交换。不仅仅是硬盘和内存之间的传输,还包括各种输入输出设备(如键盘、鼠标、显示器、硬盘、网络设备)与内存、处理器之间的数据交互。程序控制......
  • 初识jQuery
    jQuery简介jQuery由美国人JohnResig于2006年创建jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装它的设计思想是writeless,domore例:实现隔行变色效果,只需一句关键代码<!DOCTYPEhtml><html><head><title>订单表格</title></head><!--......
  • 1.Javase入门基础
    Javase入门基础1.会常用的dos命令2.会安装java所需要的环境(jdk)3.会配置java的环境变量4.知道java开发三步骤5.会入门程序6.会三种注释方式7.Java入门程序所需要注意的地方8.println和print区别一、算机编程核心语法(固定格式)数据类型、运算符、流程控制、数组、方法二、面向对象核......
  • C语言程序设计(初识C语言后部分)
    十九,指针1)指针是什么?指针理解的2个要点:1,指针是内存中一个最小单元的编号,也就是地址2,平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量总结:指针就是地址,口语中说的指针通常指的是指针变量。指针变量:我们可以通过&(取地址操作符)取出变量的内存起始地址,把......
  • 从初识Redis到精通Redis,一份Java程序员必备Redis实战文档分享
    本文深入浅出的介绍了Redis的五种数据类型,并通过多个实用示例展示了Redis的用法。除此之外还讲述了Redis的优化方法和扩展方法。一共由三个部分组成,第一部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作5种数据结构的命令,并详解了如何使用R......
  • 若楠带你初识OpenCV(1)-- 视频、图片基础处理,颜色获取
    文章目录OpenCV一、核心功能二、初识OpenCV1.安装OpenCV2.读取图片3.读取灰度图4.图片保存5.视频文件读取6.区域截取7.提取RGB通道颜色8.合并颜色通道总结OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习库,它主要用于实......
  • 1. 初识算法
    1.什么是算法定义:在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算Inmathematicsandcomputerscience,analgorithm(/ˈælɡərɪðəm/)isafinitesequenceofrigorousinstructions,typicallyusedtosolveaclassof......
  • 1. 初识算法
    1.什么是算法定义:在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算Inmathematicsandcomputerscience,analgorithm(/ˈælɡərɪðəm/)isafinitesequenceofrigorousinstructions,typicallyusedtosolveaclassof......