1,什么是软件?
计算机可以分为硬件和软件:
硬件:
主要包括:
输入输出设备:显示器,音响,麦克风,鼠标,键盘等等
储存设备:内存条,硬盘
计算设备:CPU,显卡
供能设备:电源
整体链接设备:主机箱,主板
软件:
主要包括系统软件,和应用软件。
系统软件:直接与硬件交换的软件,例如:windows7 8 9 10 xp Linux系统等
应用软件:应用软件是运行在系统软件之上的软件,例如:QQ在Windows系统运行我们通常说的软件应用开发
2,cmd行命令的操作使用
exit:退出
cls:清屏
dir:列出当前目录下所有内容
cd:(change dirctory)命令 移动路径
cd .. :回到上级目录
cd \ 会到根目录
c: d: e: f: 切换盘符
javac HelloWorld. java
java HelloWorld
3,JDK JRE JVM的关系
4,Java为什么可以跨平台
java文件通过编译会生成Class字节码文件,我们JVM java虚拟机在执行时,是执行的class文件
而JVM支持多个不同平台使用,我们不同平台在安装JVM之后都可以执行对应的CLass文件,所以java可以一次编译,多平台使用
5,java的helloworld
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
6,关于转义字符
在java的字符串中,我们使用\作为转义字符,对于\n会自动转义成为换行,\t会转义成为制表位置,所以如果我们需要输出“\n”,那么我们需要对该字符使用转义字符“\\n”.
java的注释
注释的作用:用来编写一段文字,给开发者看,不会直接影响到代码程序
java的注释有三种:
单行注释
//这是单行注释
多行注释
/*
*
*
*
*/
JavaDoc注释
/**
* 这是我的第一个java代码
作者:sjl
时间:3.23
* java文档注释
*/
极度特殊的情况
// \u000a i=2;
// \u000d i=3;
上面\u000a和\u000d两个都是换行。
7,java代码规范
1,一行只写一条代码
2,确保大括号位置对齐
3,代码缩进需要注意
8,标识符可以标记什么?
标识符可以标识:
类
变量
方法
接口
枚举
常量
等等
9,什么是关键字:
关键字是java程序做特殊识别的字,存在特殊意义,我们再给变量命名的时候无法使用这些字,
如:public static void String class package
他们在idea中由特殊的颜色标识出来
10,变量
变量:一个数据存储空间的表示。
变量操作的三个步骤: 第一步:声明
数据类型 变量名称;
String sUserName;
第二步:赋值
变量名称=值;
sUserName = ”张三“;
第三步:使用
System.out.println("当前登录人的名称是"+”sUserName“);
11,变量命名规则
1,
字,下,美,人,数,骆驼
字:ABCabc字母 字母需要是变量的首位
并且被声明变量的名称要是小写字母开头
下:下划线”_“
美:美元符号$
人:人名币符号¥
数:数字123456
骆驼
符合驼峰命名法
aBcDeFg
zhangSanDeShuiBei
有意义
userName
2,不可以使用关键字
如public class void
12,数据类型
基础类型:
字符:
单字符:char 'S' 有且只能有一个符号
数值:
整数:
字节:byte 8位:0-255,java:-128-127
短整:short -32768-32767
整型:int ±21亿,所有整数的默认类型
长整:long 整数最大
long a=1234;l
long a=12345677888L;
小数:
单精度:float
双精度:double 所有小数的默认类型
float a=1.0f
布尔:
boolean false|true
引用类型
字符串:String ”··········“(最大长度受内存限制)
//因为存在正负号,所以我们byte类型取值时,无法取到2^(8-1),只能取±2^(8-1)-1
//因为不存在±0,所以我们只需要给正数-1,负数不需要-1
//单字符char,只允许存在一个字符
System.out.println((int)'你' +"-"+(int)'好');
//多个字符需要使用的是字符串,就是String
//String是一个非常特殊的引用数据类型
String sHello="你好";
//下面这两行代码等效
//现在字面量"你好"赋值给声明的String类型变量sHello中
//再将该变量打印出来
System.out.ptintln(sHello);
//使用字面量的"你好"
System.out.println("你好");
13,变量的使用
//第一部声明一个变量
//使用逗号隔开,可以同时声明多个变量
int age,age1,age2;
//第二部变量赋值
age=16;
//第一步和第二步可以合并使用:数据类型 变量名=数值;
int userAge=1;
int _age=2;
int $age=3;
int ¥age=4;
//数字不允许作为变量名称的首字母
//int luserAge=18;
//第三部使用:取出数据使用
System.out.println(age);
System.out.println(userAge);
System.out.println(_age);
System.out.println($age);
System.out.println(¥age);
14,常量
1,final 修饰符
2,只能赋值一次,通常在声明时赋值
3,所有字母大写
final double PI=3.14;
int r=3;
r=4;
System.out.println("这个圆的半径为:"+r);
System.out.println("这个圆的周长为:"+(PI*2*r));
15,Scanner类的使用
第一步:
导入Scanner类(在代码中的Scanner处通过快捷键alt+enter可以选择import calss,选择指定的java.util.Scanner)
第二步:
创建Scanner对象
第三步:
获得键盘输入的数据
import java.util.Scanner;
public class Test06{
public static void main(String[] args){
//创建Scanner对象
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数字");
//通过input对象(声明的Scanner对象)去获取我们在控制台打印的数字
int i = input.nextInt();
System.out.println("您刚才输入的数字是:");
}
}
14,数据类型转化
对于double与int类型做加减法的时候
如果你的结果是一个double接收
那么会自动将int转化为double之后做加法
如果你的结果是一个int接收
那么不会自动将double转化为int,我们需要手动将double转为int
double firstAvg = 81.99 //第一次平均分
int secondAvg; //第二次平均分
int rise = 2;
secondAvg = (int)firstAvg + rise;
System.out.println("第二次平均分是;" + secondAvg);
15,运算符
1,赋值运算符
int i=1;
int j=i+1;
2,字符串拼接符
将后面的值赋给前面的变量
2,字符串拼接符
+:从第一个字符串开始+执行字符串拼接
String sName = "张" + "三";
String sPetName=sName+"的小狗";
3,算术运算符
// + - * / % ++ -- (+|-\*\/)=
//除号只取商不取余数
System.out.println(10/4);
i++;
++i;
///均为i做了一个1,区别在于是否影响当前行代码的执行(i++)是后加,(++i)是先加
i+=3;
//等效于
i=i+3;
i*=3;
//等效于
i=i*3;
【算术表达】式的结果类型由表达式中的【最大类型】决定
double>float>long>int>short>byte
类型转换:
自动类型转换:
小转大:
int a=5;
double b=a;
强制类型转换:
大转小:
double a= 5.123;
int b=(int)a;
a=>5会丢失精度
4,关系运算符:
> >= < <= == !=
1>=0 true
1>=2 false
5,逻辑运算符
短路:对于逻辑与和逻辑或,当左侧表达式的结果能够确定整个表达式结果时,右侧表达式将不予计算
&& 逻辑(短路)与 都为真为真,否则为假
|| 逻辑(短路)或 都为假为假,否则为真
! 逻辑非 非真即假,非假即真 尽量规避
true || false(true)
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数字:");
int i = input.nextInt();
String sReturn1 = "你输入的数字为"+i;
System.out.println(sReturn1);
boolean flag=true;
String sReturn2 = !(flag||i++>5)?"1":"2";
System.out.println(i);
System.out,println(sReturn2);
6,位运算符
<< >> >>> & | ^
7,三(元)目运算符:赋值运算符
数据类型变量=逻辑表达式(条件)?值1:值2;
String sReturn = !(1>2||2<1)?"1":"2"
如果逻辑表达式(条件)结果为真则取“值1”否则取“值2”