变量三要素
类型、名字(标识符)、数值
例:int num = 10;
变量命名规则
(1)以字母、下划线、$、¥开头命名都可以,不能以数字开头命名。
(2)驼峰命名法:小驼峰命名 第一个单词首字母小写 后面单词首字母大写
大驼峰命名 每个单词首字母都要大写
(3)不能使用关键字
变量声明
变量统称标识符
int box = 100;
//声明一个名为box的变量 赋值100给变量box
变量和常量
(1)变量指的是在程序运行中可变的值
(2)常量指的是在程序运行中不变的值 声明常量前面加fanal
数据类型
基本数据类型
一、数值型:
(1)整型
①整型 int (占4个字节 32位)
//整型默认为int
②长整型 long (占8个字节 64位)
③位 byte (占1个字符 8位)
④短整型 short(占2个字符 16位)
(2)浮点型 //运行结果不精确!!!
⑤双精度 double(占8个字节 64位) //浮点型默认double
⑥单精度 float(占4个字节 32位)
二、非数值型:
⑦字符型 char(占2个字节 16位)
//单个字符 可以是unicode ASCII的转义
⑧布尔型 boolean (占1个字节 8位)
三、引用值
③字符串型 string
④接口 API
⑤数组 Array
四、总结8种基本数据类型:
byte、short、int、long、float、
double、char、boolean
补充:
单引号是字符(char),字符做加法是用ASCII码运算;
双引号是字符串(string),做加法是字符串拼接;
数据类型转换
(1)强制转换在数值前面加类型
例:int a = (int) 1.222
补充:
强制转换只能是基本数据类型之间进行转换
(2)自动转换
①如果有一个数值为double,整体提升为double
②数值类型要兼容(整型和浮点型)
目标类型大于源类型(如:double大于int)
int < long < float < double
③byte、short、char运算,自动转换成Int
运算符
6种运算符
(1)赋值运算符
=、+=、-=、*=、/=、%=
(2)算术运算符
①基本运算符
+、-、*、/、%、++、--
补充:
++ -- 前后位置的意义
++ -- 在前面指的是先自加
自减 再运算
++ -- 在后面指的是先运算
后自加 自减
例:
int a = 3;
int b = 4;
int c = ++a + a++ + bb-- + --bb
4 + 4 (a变5) + 4(b变3) + 2
输出a = 5b = 2c = 14
(3)关系运算符(比较运算符)
>、<、>=、<= 优先级大于 ==、!=
(4)逻辑运算符
&&、||、!、&
补充:&& 与 & 的区别一般使用&&
&& 前的条件为false 后面的条件就不执行
& 前面的条件不管是false 还是 ture 后面的条件都执行
(5)条件运算符(三目运算符)
条件 ?true输出 : false输出;
(6)位运算符(不太常用,效率很高)
高效的交换两个数(不借助于第三个变量、也不将两个变量求和)
①按位与&
两个数值二.进制,然后按位与,两个1结果为1
②按位或|
两个数值二进制,然后按位或,有一个1结果为1
③按位异或^
两个数值二进制,然后按位异或,两个位数相异结果为1
④右移>>
一个数值的二进制,往右移动,高位补0,相当于/2
⑤左移<<
一个数值的二进制,往左移动,低位补0,相当于*2
⑥算术右移>>>
一个数值的二进制,往右移动,高位保留符号位
运算符优先级
算术运算符 > 关系运算符 > 逻辑运算符
Sanner的使用
Scanner方法
(1)通过Scanner 函数对用户开放一个入口
(2)import引入包 java.util.*
(3)调用input.next()让用户输入
例:
import java.util.*//引入包
public class Scan{
public static viod main(String[] args){
Scanner input = new Scanner(System.in);
//用Scanner函数对用户开放键入口
String name = input.next();
//调用next()函数让用户键入内容
}
}
补充:char没有直接输入的,可以转成String
boolean可以直接输入。