一、Java安装与特性
1.jdk的安装与环境配置
配置环境变量的步骤: 此电脑------>属性------>高级系统设置------->环境变量------->在系统变量中新建JAVA_HOME-------->变量值为jdk的安装路径--------->找到path-------->编辑------->新建%JAVA_HOME%\bin------->移到最上边------保存
2.java语言具有开源、跨平台开发的特性
二、java基础知识
1.关键字
关键字是java语言赋予特定含义的单词;如:class , public , void ,if等等
2.标识符
标识符是针对类,接口,方法,变量,常量等起名字的字符序列
标识符的命名规则:
1)26个英文字母(大小写)
2)数字字符
3)_符号(下划线)
4)$符号
5)标识符中严格区分大小写
对于类和接口命名规则:(大驼峰命名法)
每个单词首字母大写其余小写;
对于方法和变量的命名规则:(小驼峰命名法)
单个单词全小写,多个单词第一个单词全小写,之后每个单词首字母大写
对于常量命名规则:
单个单词字母全大写,多个单词的话每个单词字母全大写,单词之间用_隔开
3.常量:
程序在执行过程中其值不发生改变的量
常量的分类:
1)字面值常量
字符串常量:使用双引号包裹起来的内容:称为"字符串常量"
如:"你好","helloworld"
字符常量:使用单引号包裹起来的内容
如:'a','d'
整数常量
小数常量
布尔常量:true false
空常量:null
2)自定义常量
4.变量
程序在执行过程中其值发生改变的量
变量的三要素:数据类型,变量名,初始化值
定义变量的注意事项:
1)在java语言(强类型语言:语法结构很严谨)中,同一个变量不能重复定义
2)一行就写一个变量即可! 一行结束之后分号;
3)一行也可以定义多个变量
4)变量要么直接初始化,要么先定义,但是必须在使用之前对其进行初始化
数据类型
基本数据类型(四类八种)整数类型(byte, short, int, long) 浮点类型(float, double) 字符类型(char) 布尔类型(boolean)
引用数据类型:数组,类,接口
5.类型转换
1.隐式转换
byte,short,char三者之间不进行相互转换,但是参与运算, 在参与运算时先提升为int类型
boolean类型不参与类型转换
2.强制转换
Java中的显示转换(强制类型转换:强转),不仅适用于基本类型,以后引用数据类型也会使用
格式:
目标数据类型 变量名 = (目标数据类型)(初始化/表达式)
6.运算符
Java中的运算符号:
1)算术运算符
2)赋值运算符
3)关系(比较)运算符
4)逻辑运算符
5)位运算符
6)三元(三目)运算符
算术运算符:
基本的算术运算符:
+,-,*,/,%(模)
/:默认取整
%:求余数
扩展的算术运算符:
无论++或者--在数据前面还是数据后:都是对当前数据本身自增1或者自减1
如果++或者--在数据的前面:需要先进行自增1或者自减1,然后再参与运算!
如果++或者--在数据的后面:先进行运算,然后再进行自增1或者自减1
逻辑运算符
基本的逻辑运算符号
逻辑单与: & 并列关系(满足全部条件)
有false,则false
逻辑单或: | 或的关系:满足一个条件即可
有true,则true
逻辑异或: ^
相同则为false,不同则为true
逻辑非: ! 非true,则false;非false则true
偶数个非是他本身
在java中逻辑运算符一般使用逻辑双与 && 和逻辑双或 ||
逻辑双与&&:具有短路效果
左边的表达式如果是false,则右边就不执行了!
逻辑双||: 左边的表达式如果是true,则右边不执行了!
位运算符:
其他的运算符号:位移符号
<<:左移动
丢弃最高符号位,右边不够补0
>>:右移动
最高符号位是1 给左边补1
>>>:无符号右移
最高符号位是1还是0 都补0用二进制的补码进行计算
计算规则: 位与&:有0,则0 位或|:有1,则1 位异或^:相同则为0,不同则为1 反码~:按位取反:0变1,1变0(全部要进行按位取反)
一个数据被另一个数据位异或两次,其值是他本身!
a ^ b ^ b = a特点:
左移的特点:(***)
<<:将左边的数据乘以2的移动次幂
右移的特点:(***)
:将左边的数据除以2的移动次幂
三元运算符:
格式: (`表达式) ? 执行true的结果 : 执行false的结果` ; 执行流程: 判断表达式是否成立,如果成立则执行ture的语句,如果不成立,则执行flase的语句
7.键盘录入
步骤:
import java.util.Scanner ;// 导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in); // 创建键盘录入对象
System.out.println("请输入数据!");// 键盘输入数据
int num = sc.nextInt();//定义键盘录入数据的数据类型
}
}
注意:如果先录入int类型数据,再想要录入String类型数据则需要新建一个键盘录入对象
8.选择结构
(1) if语句
格式1:
if(表达式){
语句;
}
如果表达式成立则执行语句,如果不成立则不执行
格式2:
if(表达式){
语句1;
}else{
语句2;
}
如果表达式成立,则执行语句1,否则执行语句2格式3:
if(表达式1){
语句1;
}else if(表达式2){
语句2;
…
…
…
}else{
语句n;
}
例:
import java.util.Scanner;
class weight{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入货物重量:");
int wet = sc.nextInt();
double money ;
if (wet > 0){
if(wet < 20){
money = 5 ;
System.out.println(money) ;
}else if(wet < 100){
money = 5 + (wet - 20) * 0.2 ;
System.out.println(money);
}else {
money = 5 + (wet - 20) * 0.2 + (wet - 100) * 0.15 ;
System.out.println(money);
}
}else{
System.out.println("输入数据不合法!") ;
}
}
}
(2)Switch语句
格式:
switch(表达式){
case 1 :
语句1;
break;
case 2 :
语句2;
break;
...
...
defult :
语句n;
break;
}
注意事项:
1.case语句后面的值只能是常量,不能是变量
2.一个case语句后边必须跟一个break;否则会造成"case穿透"现象
3.语句结束条件:遇到break或者执行到程序末尾
例:
import java.util.Scanner;
class week{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据:");
int date = sc.nextInt();
switch(date){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("放假");
break;
default:
System.out.println("您输入的数据有误");
break;
}
}
}
未完待续