程序就是计算机指令
Java是流行程序设计语言之一
来源:java是sun公司所研发的,现在是oracle(甲骨文)公司负责
作用:Java适合互联网app开发“(比如:电商网站)
java标准版(SE)
Java企业版(EE)
首先创建源文件(.java)
用javac的命令编译源文件(javac 文件名.java)
出现编译后的文件(.class)
用运行指令运行编译后的文件(java 文件名)
//单行注释
//package 包“源文件目录”
//print 包名
package print;
/*
* 多行注释
*/
public class Hello {
//入口方法main
//class是类名
//Hello是自己写的类名,他的代码范围是第7~第15行,大括号就是它的代码范围叫做作用域
public static void main(String[] args) {
//main有圆括号是传导main的参数,这处没使用到
//main的大括号是main的作用域,从第9行到第12行
System.out.print("Hello,你好");
//sout加上"alt+/"
//这是用JDK的系统类System的out方法,在屏幕控制台打印输出Hello文本
//Hello,你好是提供给print系统方法第一输出的文本
//必须为文本编写双引号,如果没有写,程序会当作数字或关键字使用
System.out.println("输出一行文本不换行");
System.out.println("输出第二行文本换行");
System.out.println("输出第三行文本,换行");
System.out.println("输出第四行换行");
}
类名与源文件名必须相同
入口方法main必须是public static void main(System[] agrs)
Java命令必须先找到源文件路径
源文件在C盘,cmd必须以管理员身份打开
不要跨盘编译文件
编写程序的框架
Public class Hello world{}
//表示可可以公开访问调用的类
//其中,Hello world为类的名称,他要和程序文件的名称一摸一样。
//类名前面要用Public(公共的)和class(类)两个词修饰
//他们的先后顺序不能改变,中间要空格,类名后面有个大括号,属于该类的代码都放在大括号中
编写mian()方法的框架
public static void main(String[] args){}
//表示可以公开调用的入口方法
//程序执行的固定开始位置
//一个程序只能有一个main方法
//main()方法前面是用public,static,void修饰的,他们都是必不可少的,而且顺序不能改变,其中的“String[] args”也是必不可少的,要牢记main方法的框架
//“string[] args”表示从cmd输入额外的文本
编写代码
System.out.println("Hello world!")
//表示向cmd打印输出“hello world!”文本
//System.out.print()是Java语言自带的功能,它可以向控制台(cmd)输出信息
//print的含义是“打印”,ln可以看作line(行)的缩写
//print不会自动换行,println会自动换行
大括号:表示程序的执行范围,范围之外的程序是无效的,类和方法才打大括号(成对出现)
小括号:表示参数,只用在方法之中
中括号:表示数组:一次表示多个数值
引号:文本,可以输入中文
分号:表示一句程序的结尾(类和方法的结尾不写)
点号:表示类的成员(如:out是System的成员,写成System.out)
注释是给程序员看的并不会被执行
“//”开头是单行注释
“/*”和 “*/”是多行注释
编码规范非常重要,因为一个软件在开发和使用的过程中,80%的时间是花费在维护上的,而且维护工作通常不是由开发人员来完成的,编码规范可以增加代码的可读性,是软甲开发和维护更加方便
类名必须用public修饰
一行只写一条语句
用{}括起来的部分通常表示程序是某一层次的结构。“{”一般放在这一结构开始的最末,“}”与该结构的第一个字母对其,并独占一行
低一层次的语句或注释应该比高一层次的语句或注释缩进若干个空格后再书写,使得程序更加清晰,增加程序可读性。
类名首字母大写,方法名小写全部,变量名小写全部
package:包 clss:类 String:字符串 System:系统类 out:系统输出
内存最小单位:位(bit,值:0或1)
依次往上:
字节byte
K:1kb = 1024字节
M:1MB = 1024KB
G:1GB = 1024MB
T:1TB = 1024GB
变量是一个数据存储空间的表示
变量格式:数据类型 变量名 = 数据值(内容)
变量的修改:变量名 = 新的变量值
变量的打印:System.out.println(变量名)
变量的命名规则:首字符只能是,字母,下划线“_”,美元符号“$”;不能使用Java的关键字做变量名;java区分大小写,变量名分大小写不同;变量名不能重名
变量“eclipes java02 var Testvar”
package var;
//包名
public class Testvar {
//类名
public static void main(String[] args) {
//1.步骤1.声明一个变量money(新建变量)
//2.为变量money赋值1000(把1000保存变量里面)
//3.换一种写法,将变量直接赋值
//4.打印变量money内容
int money; //已经创建了32位大小的房间内存房间,里面默认是0
money=1000; //房间里存放了1000这个数字
System.out.println(money); //打印money
money = 1050;//改变money的内容
System.out.println(money);
//扩展:int的类是Integer,通过类查看整数的大小
//Integer.MAX_VALUE和Integer.MIN_VALUE都是系统定义变量
System.out.println(Integer.MAX_VALUE);//int的最大值
System.out.println(Integer.MIN_VALUE);//int的最小值
//试试,修改money的变量值超过了int的最大值
money=100000000;
System.out.println(money);//变量溢出(不正常)
}
}
计算机的基本就是运算。要运算就要用到数据,这些数据可以由用户输入,从文件获得,设置从网络中得到。数据不计其数,但是可以把数据归类,这就是数据的类型
Java中常见的数据类类型
数据类型 | 说明 | 举例 |
---|---|---|
int | 整型 | 用于存储整数,如学员数量,某公司员工编号,一年的天数,一天的小时数 |
double | 双精度浮点型 | 用于存储带有小数的数字,如商品价格,世界银行给其他国家贷款的金额 |
char | 字符型 | 用于储存单个字符,如性别“男”或“女”,成绩“优”或“良” |
String | 字符串型 | 用于储存一串字符,姓名,型号,产品的介绍信息 |
例子“eclipes java02 var TestStu”
package var;
public class TestStu {
public static void main(String[] args) {
//步骤
//1.声明成绩变量score(小数类)
//2.声明姓名变量name(字符串,双引号)
//3.声明性别变量gender(字符,单引号)
//4.一次性打印学生的成绩(使用一句打印)
double score = 99.5;
String name = "张三";
char gender = '男';
//“\t”表示空格
System.out.println("姓名\t性别\t分数");
System.out.println("-------------------------");
System.out.println(name+"\t"+gender+"\t"+score);
//“\t”使用那种类型的变量保存
String s1="\t";
char c1='\t';// \t是一个字符,表示跳格(表示三个空格);
System.out.println(c1+s1);
}
}
“ = ”可以将某个数值赋给变量,或者将某个表达式的值赋给变量
如:
package oper;
public class TestEq {
public static void main(String[] args) {
//赋值运算符
//1.声明变量值
//2.两个变量相互赋值
int a = 1000;//变量声明和赋值
int b = a;//变量a把值赋给了b(拷贝赋值:a把自己的1000拷贝给了b)
//内存有两个变量,两个1000
System.out.println("a是:"+a);
System.out.println("b是:"+b);
}
}
运算符 | 说明 | 举例 |
---|---|---|
+ | 加法运算符,求操作数的和 | 5+3等于8 |
- | 减法运算符,求操作数的差 | 5-3等于2 |
* | 乘法运算符,求操作数的乘积 | 5*3等于15 |
/ | 除法韵算符,求操作数的商 | 5/3等于1 |
% | 取余运算符,求操作数相除的余数 | 5%3等于2 |
+号例子"eclipes java02 oper Testadd "
package oper;
public class Testadd {
public static void main(String[] args) {
//测试 加号用法
//步骤:
//1.声明两个整数变量
//2.将两个变量的和打印出来
//3.再声明两个字符串变量
//4.将两个字符串变量拼接打印
int num1 = 1000;
int num2 = 2000;
System.out.println("num1+num2="+(num1+num2));
//双引号里面是文本,后面的是两个整数变量的和,num是变量名称
String str1 = "张三";
String str2 = "李四";
System.out.println(str1+"和"+str2);
//纯文本拼接
//两个变量有一个文本,加号就是表示拼接
}
}
-号例子“eclipse java02 oper Testsub”
package oper;
public class Testsub {
public static void main(String[] args) {
int num1 = 1000;
int num2 = 2000;
System.out.println("unm1-num2="+(num1-num2));
//减法不能用在字符串或字符变量
double num3 = 1000.123;
double num4 = 2000.123;
System.out.println("num3-num4="+(num3-num4));
//注意:小数变量相减,结果还是小数(如果小数变量运算结果为一个整数,但是得出来的结果还是会以小数形式表达出来,因为变量的变量形式为double小数)
}
}
*和/例子(其中还包括了数据转换)“eclipes java02 oper Testmul”
package oper;
public class Testmul {
public static void main(String[] args) {
//乘法和除法运算
int num1 = 10;
int num2 = 20;
System.out.println("num1*num2="+(num1*num2));//200
System.out.println("num1/num2="+(num1/num2));//0(不正确,是强制取整)
System.out.println("num2/num1="+(num2/num1));//2
//(注意:10除以20等于0.5,程序认为:两个整数相乘,结果还是整数)
//改正除法操作的小数点保留问题:使用小数变量相乘
double num3 = 10;//本质是10.0(64位)
double num4 = 20;//本质是10.0(64位)
System.out.println("num3/num4="+(num3/num4));//0.5正确
//思考:小数变量和整数变量相除:结果还是小数(double是64位,int是32位)
System.out.println("num3/num2="+(num3/num2));
//总结:两个整数变量相除为整数,两个小数变量相除为小数,一个整数一个小数变量相除为小数
}
}
%例子“eclipes java02 oper Testmod”
package oper;
public class Testmod {
public static void main(String[] args) {
// 模运算%(算余数)
int num1 = 100;
int num2 = 200;
System.out.println("num2%num1="+(num2%num1));//num2除以num1的余数是0”(整除)
System.out.println("num1%num2="+(num1%num2));//num1除以num2的余数是100(没有除尽)
//注意:理由余数为0,判断是否整除
//判断奇偶数:被2整除尽是偶数,除不尽是奇数
//判断3的倍数:被3整除
System.out.println("num1%2="+(num1%2));//余数为0,表示num1被2整除,表示偶数
System.out.println("num2%3="+(num2%3));//余数为0,表示num2不能被3整除,num2不是3的倍数
}
}
自增和自减
a++为自增,a--为自减(eclipse java02 oper Testplus)
package oper;
public class Testplus {
public static void main(String[] args) {
//自增运算符 ++;变量的值+1
//自减运算符 --;变量的值-1
//作用:程序的循环语句使用,属于是快捷语法
int num1 = 1;//开始的一个值
num1++;//加一后变成2
System.out.println("num1自增第一次:"+num1);
num1++;//再加1后变成3
System.out.println("num1自增第二次:"+num1);
num1--;//开始自减,减1以后就变成2
System.out.println("num1自减第一次变成:"+num1);
num1--;//继续减去1,变成1
System.out.println("num1自减第二次变成:"+num1);
//扩展:前自增 前自减
int num2 = 2;
++num2;
System.out.println("num2前自增第一次结果:"+num2);//3
--num2;
System.out.println("num2前自减第一次结果:"+num2);//2
//区别
System.out.println("-----------------------------------");
System.out.println("num2后自增第一次结果:"+(num2++));//2结果不变
System.out.println("num2前自减第二次结果:"+(++num2));//4
//注意:后自增num2++执行的时候,num2并没有变,在执行完毕后,num2才发生改变
// 前自增++num2在执行的时候,num2就发生改变
System.out.println(num2--);//4(执行后自减的时候num2没有改变)
//换一行之后,num2才是3
System.out.println(--num2);//2(前自减在执行的时候num2立即改变)
//原型:
//num2++
//1.先执行一次 num2+1 num2没有发生改变
//2.num2=num2+1 num2发生了改变,被+1重新赋值
//1.++num2
//2.num2=num2+1相加和赋值,一次性发生加一赋值
}
}
布尔类型主要是两种值,true,false,表示真或假
值 | 说明 |
---|---|
true | 真 |
false | 假 |
boolean的比较运算:大于,小于,等于“==”,字符比较用.equals(eclipes java02 logic Testboolean)
package logic;
public class Testboolean {
public static void main(String[] args) {
//逻辑预算
//boolean表示布尔类型变量,对true错false
boolean yes = true;//表示对(创建布尔变量yes,他的默认值是true)
yes = false;//表示错(修改yes变量的值为false)
//产生布尔的结果:对比
int num1 = 100;
int num2 = 200;
yes = num1>num2;//>大于符号,两个变量对比的结果是布尔(他表示num1是否大于num2)
System.out.println("num1是否大于num2:"+yes);//false:不成立
yes = num1
关系运算符 | 说明 | 举例 |
---|---|---|
> | 大于 | 99>100,结果为false |
< | 小于 | 100<101,结果为true |
≥= | 大于等于 | 考试成绩≥=100,结果为true |
<= | 小于等于 | 每次考试成绩<=100,结果为false |
== | 等于 | 地球的大小==篮球的大小,结果为false |
!== | 不等于 | 水的密度!=铁的密度,结果为true |
&&表示和
||表示或(eclipes java02 logic Testand)
package logic;
public class Testand {
public static void main(String[] args) {
//布尔类型,和&&,或||
boolean yes = false;//声明布尔变量,默认是false
int num1 = 90;//声明第一门课的成绩是:90
int num2 = 80;//声明第二门课的成绩是:80
//布尔1:第一,第二门成绩都要在85分以上(和)
yes = (num1>85) && (num2>85);
System.out.println("两门成绩是否都在85分以上:"+yes);
//结论:
//false && false 结果为false
//false && true 结果为false
//true && false 结果为false
//true && true 结果为true
//布尔2:第一,第二门成绩只要又一个在85分以上(或者)
yes = (num1>85) || (num2>85);
System.out.println("两门成绩是否有一门在85分以上:"+yes);
//结论:
//false && false 结果为false
//false && true 结果为true
//true && false 结果为true
//true && true 结果为true
}
}
(eclipse java02 input Testsca)
package input;
import java.util.Scanner;
public class Testsca {
public static void main(String[] args) {
//键盘输入
//1.创建扫描器(固定写法)
//除了input是自定义的,其他的都是固定的
//导包
Scanner input = new Scanner(System.in);
//2.提示用户输入键盘
System.out.println("请输入姓名:");
//3.用变量保存用户名称的输入内容.input是变量名代表扫描器.next是扫描器的成员方法,表示获取用户在键盘中的输入
String name = input.next();
System.out.println("你输入的是:"+name);
}
}