20141218

/*
Java有一个库: 用一存放专家编写好的类、接口等工具。

其中,有一个数学类在 java.lang.Math; 
注意: 凡是在  java.lang.* ;包中的类、接口;则可以直接使用,不需要导入(即: 会自动导入)。

1、数学类  Math 的作用:
1) 为程序提供数学函数,用来解决一些数学问题。

2) 为程序提供一些数学上的常量,如: 圆周率PI

2、数学类 Math所提供的常用方法( 函数 )如下:
1)  abs( x );   用来求x的绝对值。
2)  sqrt( x );  用来求x的平方根。
3)  pow( x, y ); 用来求x的y次方。

4)  random();  用来产生一个 [0, 1) 范围的随机数。
5)  round( x ); 用来对 x 进行四舍五入反馈一个long型整数。

6)  提供圆周率常量 PI

思考: 
1、产生一个[-100 , 100]范围的 随机整数。
2、产生一个[32 ,  999] 范围的 随机整数。

3、如何生一个[0, 100]范围且保留1位小数的double型数。


*/


public class  MathTest {
public static void  main( String[] args ) {
int x = -199;
int y = Math.abs( x );  //求x的绝对值,并将结果赋给y。

System.out.println("你给定的整数是: " + x + ",求其绝对值为: " + y );

x = 3;
double d1 = Math.sqrt( x );
System.out.println("你给定的整数是: " + x + ",其平方根是: " + d1 );

x = 5;
y = 3;
d1 = Math.pow( x, y );
System.out.println("求" + x + "的" + y + "次方,结果是:" + d1 );

d1 = Math.random( ); //产生一个 大于或等于0,而且小1的随机数
System.out.println("产生一个 大于或等于0,而且小1的随机数,是: " + d1 );

x = (int) (100 * Math.random()); //产生一个[0, 99]范围的随机整数。
System.out.println("随机的整数是: " + x ) ;

d1 = 31.1237895123;
long t1 = Math.round( d1 );
System.out.println("\n你给定的double型数是: " + d1 + " ,对其四舍五入取整数得: " + t1 );

double d2 = Math.round( d1 * 100 ) / 100.0 ;

System.out.println("\n给定的double型数是: " + d1 + " ,对其四舍五入并保留两位小数得: " + d2 );

double r = 3.78;
double area = Math.PI * Math.pow( r, 2 );
System.out.println("\n给定圆的半径r = " + r + ",及给定圆周率PI = " + Math.PI 
+ ";则该圆的面积area = " + area );
}

}





/*
1、什么是流程控制?
它指的是:程序的执行顺序可以根据需要进行相应的控制。

2、计算机语言中流程控制结构有三种:
1) 顺序结构。
2) 选择结构。
3) 循环结构。

3、在Java中,选择结构的语句有两种: 
1) if语句。
2) switch语句。

4、if语句有三种形式:
1) 单向的if语句。
格式:   if( 条件 ){
语句块;
}

规则: 先判断条件,若条件成立,则做语句块;之后,结束if而往下走。
若条件不成立,则不做语句块而直接往下走。

2) 双向的if语句。
格式:   if( 条件 ){
语句块1;
}else{
语句块2;
}

规则: 先判断条件,若条件成立,则做语句块1;之后,结束整个if而往下走。
若条件不成立,则做语句块2;之后,结束整个if而往下走。

它相当于 ? : 条件运算符。

3) 多向的if语句。
格式:   if( 条件1 ){
语句块1;
}else if( 条件2 ){
语句块2;
}else if( 条件3 ){
语句块3;
}

......

}else if( 条件n ){
语句块n;
}else{
语句块m;
}

规则: 先判断条件1,若其成立,则做语句块1;之后,结束整个if而往下走。
若条件1不成立,则判断条件2;若条件2成立,则做语句块2;之后,结束整个if而往下走。
依次下去。当所有条件均不成立时,则会做语句m。之后,结束整个if而往下走。
*/


public  class  StreamCtrlTest {
public static  void  main( String[] args ) {
int x = (int)( 101 * Math.random() ) - 100;  //[-100, 0]
System.out.println("产生的随机整数是: " + x );

if( x < 0 ){
System.out.println("条件成立了。");
System.out.println(x + " 的绝对值是: " + Math.abs( x ) );
}

int a = (int)(999 * Math.random() );
int b = (int)(313 * Math.random() );

if( a >= b ) {
System.out.println("\n条件成立了。");
System.out.println(a + " 大于或等于 " + b);
}else{
System.out.println("\n条件不成立。");
System.out.println(a + " 不大于 " + b );
}


System.out.println("\n程序结束了。");
}


}


/*
3) 多向的if语句。
格式:   if( 条件1 ){
语句块1;
}else if( 条件2 ){
语句块2;
}else if( 条件3 ){
语句块3;
}

......

}else if( 条件n ){
语句块n;
}else{
语句块m;
}

规则: 先判断条件1,若其成立,则做语句块1;之后,结束整个if而往下走。
若条件1不成立,则判断条件2;若条件2成立,则做语句块2;之后,结束整个if而往下走。
依次下去。当所有条件均不成立时,则会做语句m。之后,结束整个if而往下走。

思考:
产生三个随机整数,只能用if语句对它们进行由小到大排序。
若是四个或五个随机整数,那又如何排序?
目的: 找到一种排序的规律。

*/


public class  IfTest1 {
public static void main( String[] args ) {
int grade =  250; //(int)( 101 * Math.random() );
String result = "结果";

if( !(grade >= 0 && grade <= 100) ){
System.out.println("你给定的成绩是: " + grade + ",它是非法的!" );
System.out.println("byebye!");
System.exit( 0 );  //结束整个程序的运行


if( grade >= 95 ){
result = "优秀" ;
} else if( grade >= 85 ){
result = "良好" ;
} else if( grade >= 75 ){
result = "中等" ;
} else if( grade >= 60 ){
result = "Pass了";
} else {
result = "继续努力!" ;
}

System.out.println("你的成绩是: " + grade + " ,它属于: " + result + "。");
}


}




/*
1、switch语句(开关语句)
格式:
switch( 表达式 ){
case 值1 : 语句系列1;  [ break; ]
case 值2 : 语句系列2;  [ break; ]
case 值3 : 语句系列3;  [ break; ]

......

case 值n : 语句系列n;  [ break; ]

[ default :  语句系列m; ]
}


规则: 
先计算表达式的值,再找到与表达式的值对应的case,接着做它后面的
所有语句系列,当遇到 break; 语句时,则结束整个switch而往下走。
当遇不到 break; 时,则会继续会下做。
当找不到与表达式的值对应的case,且有default项存在时,则会做default项;
之后,结束整个switch而往下走。

注意:   1) 表达式的类型必须是 byte 或 short 或 char 或 int 型。

2) case后的 值1、值2、...、值n ,它们必须是byte或short或char或int型常量。

3) 当连续的多个case后的语句系列是一致的,则前n-1个均可省略。

思考:
产生一个[0, 100]范围的成绩,只能用switch语句判断该成绩属于哪个档次。
档次为:   [90, 100] 范围时,则为 "优秀" ;
[80,  89] 范围时,则为 "良好" ;
[70,  79] 范围时,则为 "中等" ;
[60,  69] 范围时,则为 "及格" ;
[0,   59] 范围时,则为 "继续努力!";
*/


public class   SwitchTest {
public  static void  main( String[] args ) {
//产生一个随机的字母
char ch = 'a'; ///(char)( 26 * Math.random() +  'a' );
String str = "存放结果";
System.out.print("随机字母是:\'" + ch + "\'"  );
 
switch( ch ){
case 'a':    
case 'e' :  
case 'i' :     
case 'o' :   
case 'u' :  str = "元音" ;   break;

case 'y' :   
case 'w' :  str = "半元音" ;  break;

default  :  str = "辅音"  ;  
}

System.out.println(",它属于: "  + str + " 。" );

}


}

/*
1、什么是循环?
在某种条件,一个语句块需要反复执行。

2、Java中的循环语句有三种:
1) 当循环( while 循环 )。 
2) 直到循环( do---while循环 )。
3) 从什么到什么循环( for循环 )。

3、当循环的应用
1) 格式  
while( 条件 ){
循环体;
}

2) 规则 
当条件成立时,则做循环体一次;之后,返回去再次判断条件;
若条件仍然成立,则继续做循环体;依此类推,
当条件为假时,则结束整个while而往下走。

4、通过案例来理解并掌握为什么需要循环,循环如何进行?
输出一个 5 

输出五个 5 

输出100个 5 

思考:
要求输出100个5且每行10个。

*/


public  class  LoopTest1  {
public static  void  main(String[] args ) {
int n = 1;  //计数器

while( n <= 100 ) {  //判断计数器超过了5次吗

System.out.print( 5 ); //打印

n++; //计数
}


System.out.println("\n当计数器n = " + n + "时,程序结束了。");
 
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
介绍一下以下代码的逻辑 # data file path train_raw_path='./data/tianchi_fresh_comp_train_user.csv' train_file_path = './data/preprocessed_train_user.csv' item_file_path='./data/tianchi_fresh_comp_train_item.csv' #offline_train_file_path = './data/ccf_data_revised/ccf_offline_stage1_train.csv' #offline_test_file_path = './data/ccf_data_revised/ccf_offline_stage1_test_revised.csv' # split data path #active_user_offline_data_path = './data/data_split/active_user_offline_record.csv' #active_user_online_data_path = './data/data_split/active_user_online_record.csv' #offline_user_data_path = './data/data_split/offline_user_record.csv' #online_user_data_path = './data/data_split/online_user_record.csv' train_path = './data/data_split/train_data/' train_feature_data_path = train_path + 'features/' train_raw_data_path = train_path + 'raw_data.csv' #train_cleanedraw_data_path=train_path+'cleanedraw_data.csv' train_subraw_data_path=train_path+'subraw_data.csv' train_dataset_path = train_path + 'dataset.csv' train_subdataset_path=train_path+'subdataset.csv' train_raw_online_data_path = train_path + 'raw_online_data.csv' validate_path = './data/data_split/validate_data/' validate_feature_data_path = validate_path + 'features/' validate_raw_data_path = validate_path + 'raw_data.csv' #validate_cleaneraw_data_path=validate_path+'cleanedraw_data.csv' validate_dataset_path = validate_path + 'dataset.csv' validate_raw_online_data_path = validate_path + 'raw_online_data.csv' predict_path = './data/data_split/predict_data/' predict_feature_data_path = predict_path + 'features/' predict_raw_data_path = predict_path + 'raw_data.csv' predict_dataset_path = predict_path + 'dataset.csv' predict_raw_online_data_path = predict_path + 'raw_online_data.csv' # model path model_path = './data/model/model' model_file = '/model' model_dump_file = '/model_dump.txt' model_fmap_file = '/model.fmap' model_feature_importance_file = '/feature_importance.png' model_feature_importance_csv = '/feature_importance.csv' model_train_log = '/train.log' model_params = '/param.json' val_diff_file = '/val_diff.csv' # submission path submission_path = './data/submission/submission' submission_hist_file = '/hist.png' submission_file = '/tianchi_mobile_recommendation_predict.csv' # raw field name user_label = 'user_id' item_label = 'item_id' action_label = 'behavior_type' user_geohash_label='user_geohash' category_label='item_category' action_time_label='time' probability_consumed_label = 'Probability' # global values consume_time_limit = 15 train_feature_start_time = '20141119' train_feature_end_time = '20141217' train_dataset_time = '20141218' #train_dataset_end_time = '20141218' validate_feature_start_time = '20141118' validate_feature_end_time = '20141216' validate_dataset_time = '20141217' #validate_dataset_end_time = '20160514' predict_feature_start_time = '20141120' predict_feature_end_time = '20141218' predict_dataset_time = '20141219' #predict_dataset_end_time = '20160731'
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值