首页 > 编程语言 >JAVA SE

JAVA SE

时间:2022-08-30 03:22:29浏览次数:68  
标签:JAVA 变量 int System String println SE out

注释

//adf  单行

/*
aadf 多行
adsfadf
*/

 

关键字&标识符

关键字

像void main public 这种固定的单词 有特殊含义的 编写时会变色 不能用作类名,变量名方法名

标识符

定义

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

public class Hello {
   public static void main(String[] args) {
       string name="周京成";
       System.out.println("Hello World!123");
  }
}

Hello是类名 前面是关键字class

main是方法名 前面是关键字void

name是变量名 前面是关键字string

注意

  • 以字母(A-z),美元符号($),或者下划线(_)开始

  • 首字母之后可以是字母(A-z),美元符号($),下划线(_),数字

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

  • 标识符是大小写敏感的

  • 合法标识符:age,$as,_ad23

  • 非法标识符:12as,-as

  • 不建议使用中文或拼音命名

数据类型

基本类型

数值类型

整数类型

byte 占1个字节 1Byte=8bit 0-255 二进制8位 范围:-128-127

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

int 占4个字节 范围:差不多正负10位数 2开头

long 占8个字节 范围:差不多正负20位数 9开头

浮点类型

float 占4个字节

double 占8个字节

字符类型

char 占2个字节

boolean类型 占1个字节 只有true和false两个

引用类型

类 class

接口 interface

数组 a[28]

String 是 引用类型

整数拓展

public class Hello {
   public static void main(String[] args) {
       //整数拓展:进制   二进制0b 十进制   八进制0   十六进制0x
       int i = 10;
       int i2 = 010;//八进制0
       int i3 = 0xB;//十六进制0x
       System.out.println(i);
       System.out.println(i2);
       System.out.println(i3);
       //总结:想要输入八进制的数字 就在数字前添加0
  }
}
//结果:10 8 11
//解析:八进制10就是一个两位数 是逢8近1的结果

浮点数

        //浮点数 不能算钱 银行业务 可以用BigDecimal 数学工具类
       //float double 是有限的 离散的 会舍入误差 不是精确的数 接近但不等于
       float f = 0.1f;//0.1
       double d = 1.0 / 10;//0.1

       System.out.println(f == d);//false
       //f==d 是一个比较 如果两个相等就true 否则false
       float d1 = 2323232323232323232f;
       float d2 = d1 + 1;

       System.out.println(d1 == d2);//true
       
//结果:
false
true
"This is a question"

字符

        //字符拓展
       System.out.println("---------------------");
       char c1 = 'A';
       char c2 = '中';

       System.out.println(c1+"   "+(int)c1);//字符型强制转化为整型
       System.out.println(c2+"   "+(int)c2);
       //所有的字符本质还是数字 不同的编码会有不同的结果 UTF-8 Unicode 一个字符占两个字节
       //U0000 UFFFF
       char c3 ='\u0061';
       System.out.println(c3);
//结果:
A    65
中    20013
a

转义字符

符号字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x0)
\s 空格 (0x20)
\t 制表符
" 双引号
' 单引号
\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16进制Unicode字符 (xxxx)
System.out.println("\"This is a question\"");//把双引号打出来
//结果:
"This is a question"

字符串

String sa =new String("hello world");
String sb =new String("hello world");
System.out.println(sa==sb);

String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);
//结果:
false
true

涉及到对象 和 内存

布尔类型

boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
//Less is More! 代码要精简易懂 两者都是一样的

类型转换

低  ------------------------------------>  高

byte,short,char—> int —> long—> float —> double

低转高要强制 高转低是默认

数据类型转换必须满足如下规则:

  1. 不能对boolean类型进行类型转换。

  2. 不能把对象类型转换成不相关类的对象。

  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  4. 转换过程中可能导致溢出或损失精度,例如:

int i =128;   
byte b = (byte)i;//结果位-128 是错误的

float f1 = 12.2f;
int fi = (int)f1;
System.out.println(fi);//结果位12

因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;//这里的下划线不被执行 只是方便看
System.out.println(money);
int years = 20;
int total = money * years;
System.out.println(total);//结果:-1474836480 错误 出现溢出
long total2 = money * years;
System.out.println(total2);
//结果:-1474836480 还是错误 先算等号右边(乘法) 再算左边(默认int转long)
// 在右边是int类型 转换之前 已经溢出了
long total3 = money*((long)years);
System.out.println(total3);//结果:20000000000 正确
//等号最右边是years 先把years从int转为long
// 然后long类型的years和int类型的money计算 默认是long类型

变量 常量 作用域

变量

定义:可以变化的量

Java变量是程序中最基本的储存单元,其要素包括变量,变量类型和作用域

int a, b, c;     // 声明三个int型整数:a、 b、c 
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
//并不建议这样做 根据代码可读性 分开写更好
int a=3;
int b=2;
int c=9;

Java语言支持的变量类型有:

  • 类变量:独立于方法之外的变量,用 static 修饰。

  • 实例变量:独立于方法之外的变量,不过没有 static 修饰。

  • 局部变量:类的方法中的变量。

public class Variable{
   static int allClicks=0;    // 类变量

   String str="hello world";  // 实例变量

   public void method(){

       int i =0;  // 局部变量

  }
}
public class Demo4 {//class 类 里面除了可以定义方法 例如main方法 还可以定义属性 属性就是变量
   //类变量 static
   static double salary = 2500;

   //属性:变量

   //实例变量 方法外面 类的里面 从属于对象;如果不自行初始化,其值是这个类型的默认值
   //整型默认0 浮动型默认0.0 布尔型默认false 其他都是null
   String name;
   int age;

   //main方法
   public static void main(String[] args) {
       //局部变量 在方法里 只作用在方法里 必须声明和初始化值
       int i = 10;//如果i 未初始化值未10 就会报错
       System.out.println(i);//结果:10

       //变量类型 变量名字 = new Demo4
       Demo4 Demo4=new Demo4();
       System.out.println(Demo4.age);//结果:0 age没有初始化 所以输出的是int类型的默认值0

       //类变量 类里面 方法外 前面是static
       System.out.println(salary);//结果:2500
  }

   //其他方法
   public void add(){

  }
}

变量的命名规范

  • 所有变量,方法,类名:见名知意

  • 类成员变量:x首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写 lastName

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线 MAX_VALUE

  • 类名:首字母大写和驼峰原则 Man,GoodMan

  • 方法名:首字母小写和驼峰原则 run(),eatFood()

常量

Constant 定义:初始化(initialize)后不能再改变的值!不会变动的值。

所谓常量可以理解成一种特殊的变量,它的值被设定后,再程序中不允许改变。

final 变量名 = 值;
final double PI = 3.14;

常量名一般使用大写字符。

//修饰符,不存在先后顺序
final static double PI = 3.14;
public static void main(String[] args) {
   System.out.println(PI);
}

标签:JAVA,变量,int,System,String,println,SE,out
From: https://www.cnblogs.com/zjc123/p/16637969.html

相关文章

  • stopPropagation, preventDefault 和 return false 的区别
    stopPropagation阻止事件的冒泡和捕获。因为事件可以在各层级的节点中传递,不管是冒泡还是捕获,有时我们希望事件在特定节点执行完之后不再传递,可以使用事件对象的s......
  • Java基本语法
    Java基本语法注释、标识符、关键字注释单行注释多行注释文档注释数据类型变量、常量运算符包机制、JavaDoc......
  • java 线程池 学习记录
    线程池构造函数参数有哪些核心线程池最大线程数空闲非核心线程存活时长空闲非核心线程存活时长单位阻塞队列线程生产工厂拒绝执行处理类execute和s......
  • Java开发工具IDEA
    Java开发工具IDEA下载网址连接安装下载略使用IDEA创建第一个程序File--->New--->Project--->Java(选择JDK的版本)--->NextProjectname:项目的名称Projectlocat......
  • java并发 学习记录
    哪些方法会抛出InterruptedException异常?Thread类怎么处理异常可以在Thread中设置异常处理类(实例方法)--setUncaughtExceptionHandlerThread.interupt()方法可以......
  • 个人对 JavaScript 闭包的理解
    作用域的概念同级作用域在一个作用域中声明相同名称的变量会发生变量名冲突的问题。假如在作用域A中声明一个变量a,作用域B也声明一个变量a,两个作用域的变量都互不......
  • Java开发环境的下载安装和卸载
    Java开发环境的下载安装和卸载Java开发环境之卸载JDK删除Java的安装目录删除JAVA_HOME删除path下关于Java的目录CMD输入java-version查看版本号(如果显示不是系统命......
  • jenkins使用shell脚本执行nohup java -jar包失败
    一、问题通过jenkins执行shell脚本时,脚本中是通过nohupjava-jar&的方式启动,显示执行成功,但是服务却没启动,脚本如下:#!/bin/bashnohupjava-Xms800m-Xmx800m-XX:P......
  • 用java实现二分查找
    /***调用erfen方法,输入数据int[]s={0,1,2,3,4,5}和8,输出方法的返回值*/publicclassErfen{ publicintsearch(int[]nums,inttarget){ intl=0; intr=nums.l......
  • Java的三大版本以及JDK、JRE、JVM
    Java的三大版本以及JDK、JRE、JVMJava的三大版本JavaSE:标准版(桌面程序、控制台开发...)JavaME:嵌入式开发(手机、小家电)JavaEE:企业级开发(web端、企业级开发)JDK、JRE、J......